Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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:

Code Block
languagecpp
titleFloyd-Steinberg
collapsetrue
// The halftone - this example is Floyd Steinberg with drop sizes of 3,
// serpentine enabled and no peturbation
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.

An installer can downloaded from the link on this page.

Image RemovedImage Added

Download the installer here:

View file
nameEDSWorkbench.exe
height150

Test program

View file
nameEdsTestHarness.cpp
height150