<< Chapter < Page | Chapter >> Page > |
In Processing,
the representation of graphic objects is based on a cartesian 3Dcoordinate system, as displayed in
[link] .
2D images are processed by acting on the X-Y plane, thus
assuming that the Z coordinate is zero. The function
size()
defines the display window size and the
rendering engine that will be used to paint
onto the window. The default engine is JAVA2D, the 2Dgraphic Java libray. A bidimensional rendering engine,
especially suitable for faster pixel-based image processing, is P2D(Processing 2D). If one wants to program in 3D, he must
choose either the P3D (Processing 3D) rendering engine,especially suited for web-oriented graphics, or OPENGL,
which delegates many typical 3D operations to the graphicboard thus freeing the CPU from many computations. Moreover, if the
objective is high-quality printing with vector graphics, a PDFrendering option is available.
In Processing, an image can be assigned to an object of the
class
PImage
. The function
loadImage("myImage")
takes a file (gif or jpg)
myImage
, containing the pixel coding of an image,
and gives back the content of such image, which can beassigned to a variable of type
PImage
. The file
myImage
must be loaded in the
data
folder of the directory having the same name as the Processing
sketch we are working at.
New
command is executed, processing opens up a folder named
sketch_???????
within the
Processing
directory, corresponding to the name assigned bye the system
to the newly created file. Such folder is accessible from theProcessing menu item
Sketch/Add File
.PImage
gives access, by the fields
width
and
height
, to the width and
height of the loaded image. The image content is accessed viathe
pixels[]
field.
size(400,300);
PImage b;b = loadImage("gondoliers.jpg");
println("width=" + b.width + " height=" + b.height);image(b, 0, 0, 400, 300); // position (0,0); width=400; height=300;
image(b, 20, 10, 100, 80); // position (20,10); width=100; height=80;
Since our color receptors ( cones ), each tuned to a wavelength region, are of three kinds, color modelsare always referred to a three-dimensional space. In additive color models, each of three axes correspond to a base color,and by mixing three colored light beams one can obtain all colors within a gamut volume in the space defined by the three axes. The three base colors can be chosenarbitrarily or, more often, based on the application domain (e.g., color of three phosphors or laser beams). In printingprocesses, subtractive color models are used, where the starting point is the white surface and primary ink colors areused to subtract color from white.
In processing
color
is a primitive type used to
specify colors. It is realized by a 32-bit number, where thefirst byte specifies the alpha value, and the other bytes
specify a triple either in the RGB or in the HSB model. Thechoice of one model or the other is made by the
colorMode()
function. With three bytes, a number
of
are representable.
Notification Switch
Would you like to follow the 'Media processing in processing' conversation and receive update notifications?