Page tree
Skip to end of metadata
Go to start of metadata

Introduction

Mako 5.0's renderer offers error diffusion screening, using popular algorithms such as Floyd-Steinberg or Stucki.

A new class, IJawsRenderer::CEDSHalftone is added, enabling images to be rendered using a halftone representing an error diffusion screen. It allows the production of results containing a variable number of gray levels per channel, using a range of error diffusion screens.

This class may be used for both monochrome and color rendering with renderScreened() and renderScreenedToFrameBuffers(), superseding renderMonochrome() and renderMonochromeToFrameBuffer() which have been removed.

Rather than only offer predefined EDS screens, the class allows the user to specify parameters that describe the algorithm. For example:

Floyd-Steinberg
// The halftone - this example is Floyd Steinberg with drop sizes of 3,
// serpentine enabled and no perturbation
IJawsRenderer::CEDSHalftone halftone;
halftone.dropSizes = 3;
halftone.rows = 2;
halftone.columns = 3;
halftone.pixelColumn = 1;
halftone.denominator = 16;
halftone.weights[0] = 0; halftone.weights[1] = 0; halftone.weights[2] = 7; halftone.weights[3] = 0; halftone.weights[4] = 0;
halftone.weights[5] = 3; halftone.weights[6] = 5; halftone.weights[7] = 1; halftone.weights[8] = 0; halftone.weights[9] = 0;
halftone.weights[10] = 0; halftone.weights[11] = 0; halftone.weights[12] = 0; halftone.weights[13] = 0; halftone.weights[14] = 0;
halftone.weights[15] = 0; halftone.weights[16] = 0; halftone.weights[17] = 0; halftone.weights[18] = 0; halftone.weights[19] = 0;
halftone.useSerpentine = true;
halftone.perturbation = 0.0;

EDS Workbench

A Windows-based utility is available that enables a user to load a file (image or PDF) and experiment with these values and see their effect immediately, on-screen.

It can also generate a code snippet for use with a Mako C++ project, or as parameters for Jaws RIP

An installer can downloaded from the link on this page.

Download the installer here:

EDSWorkbench.exe

Test program

EdsTestHarness.cpp


  • No labels