Add gegl:newsprint.
This commit is contained in:
parent
cf1a9032ba
commit
fc8f9ad724
|
@ -1,4 +1,4 @@
|
||||||
import {Generic, SimplexNoise} from './gegl/exports.js';
|
import {Generic, Newsprint, SimplexNoise} from './gegl/exports.js';
|
||||||
import Project from './project.js';
|
import Project from './project.js';
|
||||||
|
|
||||||
const [width, height] = [1920, 1080];
|
const [width, height] = [1920, 1080];
|
||||||
|
@ -7,21 +7,21 @@ const project: Project = {
|
||||||
name: '2022-03-06',
|
name: '2022-03-06',
|
||||||
operations: [
|
operations: [
|
||||||
new SimplexNoise({scale: 4, seed: 2_071_140_406}),
|
new SimplexNoise({scale: 4, seed: 2_071_140_406}),
|
||||||
new Generic('gegl:newsprint', {
|
new Newsprint({
|
||||||
colorModel: 'rgb',
|
colorModel: 'rgb',
|
||||||
pattern2: 'line',
|
pattern2: 'line',
|
||||||
period2: '200',
|
period2: 200,
|
||||||
angle2: '15',
|
angle2: 15,
|
||||||
pattern3: 'line',
|
pattern3: 'line',
|
||||||
period3: '200',
|
period3: 200,
|
||||||
angle3: '45',
|
angle3: 45,
|
||||||
pattern4: 'line',
|
pattern4: 'line',
|
||||||
period4: '200',
|
period4: 200,
|
||||||
angle4: '0',
|
angle4: 0,
|
||||||
}),
|
}),
|
||||||
new Generic('gegl:mirrors'),
|
new Generic('gegl:mirrors'),
|
||||||
new Generic('gegl:softglow'),
|
new Generic('gegl:softglow'),
|
||||||
new Generic('gegl:newsprint'),
|
new Newsprint(),
|
||||||
new Generic('gegl:stereographic-projection', {tilt: 123}),
|
new Generic('gegl:stereographic-projection', {tilt: 123}),
|
||||||
new Generic('gegl:focus-blur', {
|
new Generic('gegl:focus-blur', {
|
||||||
blurType: 'gaussian',
|
blurType: 'gaussian',
|
||||||
|
@ -29,17 +29,17 @@ const project: Project = {
|
||||||
radius: 0.9,
|
radius: 0.9,
|
||||||
midpoint: 0.6,
|
midpoint: 0.6,
|
||||||
}),
|
}),
|
||||||
new Generic('gegl:newsprint', {
|
new Newsprint({
|
||||||
colorModel: 'rgb',
|
colorModel: 'rgb',
|
||||||
pattern2: 'diamond',
|
pattern2: 'diamond',
|
||||||
period2: '200',
|
period2: 200,
|
||||||
angle2: '0',
|
angle2: 0,
|
||||||
pattern3: 'diamond',
|
pattern3: 'diamond',
|
||||||
period3: '200',
|
period3: 200,
|
||||||
angle3: '35',
|
angle3: 35,
|
||||||
pattern4: 'diamond',
|
pattern4: 'diamond',
|
||||||
period4: '200',
|
period4: 200,
|
||||||
angle4: '55',
|
angle4: 55,
|
||||||
}),
|
}),
|
||||||
new Generic('gegl:focus-blur', {
|
new Generic('gegl:focus-blur', {
|
||||||
blurType: 'gaussian',
|
blurType: 'gaussian',
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
export * from './base.js';
|
export * from './base.js';
|
||||||
export * from './crop.js';
|
export * from './crop.js';
|
||||||
export * from './generic.js';
|
export * from './generic.js';
|
||||||
|
export * from './newsprint.js';
|
||||||
export * from './simplex-noise.js';
|
export * from './simplex-noise.js';
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
import {BaseOperation} from './base.js';
|
||||||
|
|
||||||
|
type NewsprintPattern = 'line' | 'circle' | 'diamond' | 'pssquare' | 'cross';
|
||||||
|
|
||||||
|
export interface NewsprintParameters {
|
||||||
|
aaSamples: number;
|
||||||
|
angle: number;
|
||||||
|
angle2: number;
|
||||||
|
angle3: number;
|
||||||
|
angle4: number;
|
||||||
|
angleboost: number;
|
||||||
|
blackPullout: number;
|
||||||
|
blocksize: number;
|
||||||
|
colorModel: 'black-on-white' | 'cmyk' | 'rgb' | 'white-on-black';
|
||||||
|
pattern: NewsprintPattern;
|
||||||
|
pattern2: NewsprintPattern;
|
||||||
|
pattern3: NewsprintPattern;
|
||||||
|
pattern4: NewsprintPattern;
|
||||||
|
period: number;
|
||||||
|
period2: number;
|
||||||
|
period3: number;
|
||||||
|
period4: number;
|
||||||
|
turbulence: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Newsprint extends BaseOperation<NewsprintParameters> {
|
||||||
|
public static default: NewsprintParameters = {
|
||||||
|
aaSamples: 16,
|
||||||
|
angle: 75,
|
||||||
|
angle2: 15,
|
||||||
|
angle3: 45,
|
||||||
|
angle4: 0,
|
||||||
|
angleboost: 0,
|
||||||
|
blackPullout: 1,
|
||||||
|
blocksize: -1,
|
||||||
|
colorModel: 'black-on-white',
|
||||||
|
pattern: 'line',
|
||||||
|
pattern2: 'line',
|
||||||
|
pattern3: 'line',
|
||||||
|
pattern4: 'line',
|
||||||
|
period: 12,
|
||||||
|
period2: 12,
|
||||||
|
period3: 12,
|
||||||
|
period4: 12,
|
||||||
|
turbulence: 0,
|
||||||
|
};
|
||||||
|
|
||||||
|
public appendCrop = false;
|
||||||
|
public name = 'gegl:newsprint';
|
||||||
|
|
||||||
|
constructor(parameters?: Partial<NewsprintParameters>) {
|
||||||
|
super({...Newsprint.default, ...parameters});
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue