get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1Rect (Operator)
Name
get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1Rect
— Access to the image data pointer and the image data inside
the smallest rectangle of the domain of the input image.
Signature
Herror get_image_pointer1_rect(const Hobject Image, Hlong* PixelPointer, Hlong* Width, Hlong* Height, Hlong* VerticalPitch, Hlong* HorizontalBitPitch, Hlong* BitsPerPixel)
Herror T_get_image_pointer1_rect(const Hobject Image, Htuple* PixelPointer, Htuple* Width, Htuple* Height, Htuple* VerticalPitch, Htuple* HorizontalBitPitch, Htuple* BitsPerPixel)
void GetImagePointer1Rect(const HObject& Image, HTuple* PixelPointer, HTuple* Width, HTuple* Height, HTuple* VerticalPitch, HTuple* HorizontalBitPitch, HTuple* BitsPerPixel)
void* HImage::GetImagePointer1Rect(Hlong* Width, Hlong* Height, Hlong* VerticalPitch, Hlong* HorizontalBitPitch, Hlong* BitsPerPixel) const
static void HOperatorSet.GetImagePointer1Rect(HObject image, out HTuple pixelPointer, out HTuple width, out HTuple height, out HTuple verticalPitch, out HTuple horizontalBitPitch, out HTuple bitsPerPixel)
IntPtr HImage.GetImagePointer1Rect(out int width, out int height, out int verticalPitch, out int horizontalBitPitch, out int bitsPerPixel)
Description
The operator get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1RectGetImagePointer1Rect
returns the pointer
PixelPointerPixelPointerPixelPointerPixelPointerpixelPointer
which points to the beginning of the image
data inside the smallest rectangle of the domain of ImageImageImageImageimage
.
VerticalPitchVerticalPitchVerticalPitchVerticalPitchverticalPitch
corresponds to the width of the input image
ImageImageImageImageimage
multiplied with the number of bytes per pixel
(HorizontalBitPitchHorizontalBitPitchHorizontalBitPitchHorizontalBitPitchhorizontalBitPitch
/ 8). WidthWidthWidthWidthwidth
and
HeightHeightHeightHeightheight
correspond to the size of the smallest rectangle of
the input region. HorizontalBitPitchHorizontalBitPitchHorizontalBitPitchHorizontalBitPitchhorizontalBitPitch
is the horizontal
distance (in bits) between two neighboring pixels.
BitsPerPixelBitsPerPixelBitsPerPixelBitsPerPixelbitsPerPixel
is the number of used bits per pixel.
get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1RectGetImagePointer1Rect
is symmetrical to
gen_image1_rectgen_image1_rectGenImage1RectGenImage1RectGenImage1Rect
.
Attention
The operator get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1RectGetImagePointer1Rect
should only be used for entry
into newly created images, since otherwise the gray values of other images
might be overwritten (see relational structure).
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
ImageImageImageImageimage
(input_object) singlechannelimage →
objectHImageHImageHobject (byte / uint2 / int4)
Input image (Himage).
PixelPointerPixelPointerPixelPointerPixelPointerpixelPointer
(output_control) pointer →
HTupleHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)
Pointer to the image data.
WidthWidthWidthWidthwidth
(output_control) extent.x →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Width of the output image.
HeightHeightHeightHeightheight
(output_control) extent.y →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Height of the output image.
VerticalPitchVerticalPitchVerticalPitchVerticalPitchverticalPitch
(output_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Width(input image)*(HorizontalBitPitch/8).
HorizontalBitPitchHorizontalBitPitchHorizontalBitPitchHorizontalBitPitchhorizontalBitPitch
(output_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Distance between two neighboring pixels in bits .
BitsPerPixelBitsPerPixelBitsPerPixelBitsPerPixelbitsPerPixel
(output_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Number of used bits per pixel.
Example (C)
Hobject image,reg,imagereduced;
char typ[128];
Hlong width,height,vert_pitch,hori_bit_pitch,bits_per_pix, winID;
unsigned char *ptr;
open_window(0,0,512,512,"black",winID);
read_image(&image,"monkey");
draw_region(®,winID);
reduce_domain(image,reg,&imagereduced);
get_image_pointer1_rect(imagereduced,(Hlong*)&ptr,&width,&height,
&vert_pitch,&hori_bit_pitch,&bits_per_pix);
Result
The operator get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1RectGetImagePointer1Rect
returns the value 2 (H_MSG_TRUE) if
exactly one image was passed.
The behavior in case of empty input (no input images available) is set via
the operator set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)
.
If necessary an exception is raised.
Possible Predecessors
read_imageread_imageReadImageReadImageReadImage
,
gen_image1_rectgen_image1_rectGenImage1RectGenImage1RectGenImage1Rect
Alternatives
set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayval
,
get_grayvalget_grayvalGetGrayvalGetGrayvalGetGrayval
,
get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3GetImagePointer3
,
get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1GetImagePointer1
See also
paint_regionpaint_regionPaintRegionPaintRegionPaintRegion
,
paint_graypaint_grayPaintGrayPaintGrayPaintGray
,
gen_image1_rectgen_image1_rectGenImage1RectGenImage1RectGenImage1Rect
Module
Foundation