create_image3 ( : ImageRGB : Type, Width, Height, PixelPointerRed, PixelPointerGreen, PixelPointerBlue : )
Create an image from three pointers to the pixels.
The operator create_image3 creates a three-channel image of the
size Width * Height.
The pixels in PixelPointerRed, PixelPointerGreen and
PixelPointerBlue are stored line-sequentially.
The type of the given pixels
(PixelPointerRed etc.) must correspond to the name of the pixels
(Type).
The storage for the new image is newly created by HORUS
Thus, it can be released after the call.
Since the type of the parameters (PixelPointerRed etc.) is
generic (long) a "cast" must be used for the call.
Parameters
ImageRGB (output_object)
|
image -> object
|
Created image with new image matrix. |
Type (input_control)
|
string -> string
|
Pixel type |
Default value: 'byte' |
List of values: 'int1', 'int2', 'int4', 'byte', 'real', 'direction', 'cyclic' |
Width (input_control)
|
extent.x -> integer
|
Width of image |
Default value: 512 |
Suggested values: 128, 256, 512, 1024 |
Range of values: 1 <= Width <= 512 (lin) |
Minimum increment: 1
|
Recommended increment: 10
|
Height (input_control)
|
extent.y -> integer
|
Height of image |
Default value: 512 |
Suggested values: 128, 256, 512, 1024 |
Range of values: 1 <= Height <= 512 (lin) |
Minimum increment: 1
|
Recommended increment: 10
|
PixelPointerRed (input_control)
|
integer -> integer
|
Pointer to first gray value (channel 1) |
PixelPointerGreen (input_control)
|
integer -> integer
|
Pointer to first gray value (channel 2) |
PixelPointerBlue (input_control)
|
integer -> integer
|
Pointer to first gray value (channel 3) |
Example
void NewRGBImage(ObjType *new)
{
unsigned char red[768*525];
unsigned char green[768*525];
unsigned char blue[768*525];
int r,c;
for (r=0; r<525; r++)
for (c=0; c<768; c++)
{
red[r*768+c] = c % 255;
green[r*768+c] = (767 - c) % 255;
blue[r*768+c] = r % 255;
}
create_image3(new,"byte",768,525,(long)red,(long)green,(long)blue);
}
main()
{
ObjType rgb;
open_window(0,0,768,525,0,"","");
NewRGBImage(&rgb);
disp_color(rgb);
clear(rgb);
}
Result
If the parameter values are correct, the operator create_image3
returns the value TRUE.
Otherwise an exception is raised.
Possible Predecessors
new_image__,
get_image_pointer__
Possible Successors
disp_color
Alternatives
create_image,
compose3,
new_image__
See also
reduce_domain,
paint_grey__,
paint_region__,
set_greyval__,
get_image_pointer__,
decompose3
Copyright © 1996-1997 MVTec Software GmbH