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});
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue