get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1Rect (Operator)
Name
get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1Rect
— Zugriff auf Bilddatenzeiger und Bildpunkte innerhalb des
kleinsten umschließenden Rechtecks der Domäne des Eingabebildes.
Signatur
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)
Beschreibung
Der Operator get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1RectGetImagePointer1Rect
liefert den Zeiger
PixelPointerPixelPointerPixelPointerPixelPointerpixelPointer
auf den Anfang der Bilddaten, die sich
innerhalb des kleinsten umschließenden Rechtecks der Domäne von
ImageImageImageImageimage
befinden. VerticalPitchVerticalPitchVerticalPitchVerticalPitchverticalPitch
entspricht der
Breite des Eingabebildes ImageImageImageImageimage
mal der Anzahl der Bytes pro
Pixel (HorizontalBitPitchHorizontalBitPitchHorizontalBitPitchHorizontalBitPitchhorizontalBitPitch
/ 8). WidthWidthWidthWidthwidth
und
HeightHeightHeightHeightheight
entsprechen der Größe des kleinsten
umschließenden Rechtecks der Eingaberegion.
HorizontalBitPitchHorizontalBitPitchHorizontalBitPitchHorizontalBitPitchhorizontalBitPitch
ist der horizontale Abstand (in Bits)
benachbarter Pixel. BitsPerPixelBitsPerPixelBitsPerPixelBitsPerPixelbitsPerPixel
ist die Anzahl der
verwendeten Bits pro Pixel. get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1RectGetImagePointer1Rect
ist
symmetrisch zu gen_image1_rectgen_image1_rectGenImage1RectGenImage1RectGenImage1Rect
.
Achtung
get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1RectGetImagePointer1Rect
sollte nur zum Eintragen in neu erzeugte
Bilder verwendet werden, da sonst die Grauwerte von anderen Bildern
überschrieben werden könnten (siehe relationale Struktur).
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
ImageImageImageImageimage
(input_object) singlechannelimage →
objectHImageHImageHobject (byte / uint2 / int4)
Eingabebild (Himage).
PixelPointerPixelPointerPixelPointerPixelPointerpixelPointer
(output_control) pointer →
HTupleHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)
Zeiger auf die Bilddaten.
WidthWidthWidthWidthwidth
(output_control) extent.x →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Breite des Ausgabebildes.
HeightHeightHeightHeightheight
(output_control) extent.y →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Höhe des Ausgabebildes.
VerticalPitchVerticalPitchVerticalPitchVerticalPitchverticalPitch
(output_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Breite(Eingabebild)*(HorizontalBitPitch/8).
HorizontalBitPitchHorizontalBitPitchHorizontalBitPitchHorizontalBitPitchhorizontalBitPitch
(output_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Abstand benachbarter Pixel in Bits.
BitsPerPixelBitsPerPixelBitsPerPixelBitsPerPixelbitsPerPixel
(output_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Anzahl verwendeter Bits pro Pixel.
Beispiel (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);
Ergebnis
get_image_pointer1_rectget_image_pointer1_rectGetImagePointer1RectGetImagePointer1RectGetImagePointer1Rect
liefert den Wert 2 (H_MSG_TRUE), falls genau ein
Bild übergeben wurde.
Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt
sich mittels 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>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
read_imageread_imageReadImageReadImageReadImage
,
gen_image1_rectgen_image1_rectGenImage1RectGenImage1RectGenImage1Rect
Alternativen
set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayval
,
get_grayvalget_grayvalGetGrayvalGetGrayvalGetGrayval
,
get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3GetImagePointer3
,
get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1GetImagePointer1
Siehe auch
paint_regionpaint_regionPaintRegionPaintRegionPaintRegion
,
paint_graypaint_grayPaintGrayPaintGrayPaintGray
,
gen_image1_rectgen_image1_rectGenImage1RectGenImage1RectGenImage1Rect
Modul
Foundation