set_partT_set_partSetPartSetPart (Operator)

Name

set_partT_set_partSetPartSetPart — Verändern des darzustellenden Bildausschnitts.

Signatur

set_part( : : WindowHandle, Row1, Column1, Row2, Column2 : )

Herror T_set_part(const Htuple WindowHandle, const Htuple Row1, const Htuple Column1, const Htuple Row2, const Htuple Column2)

void SetPart(const HTuple& WindowHandle, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2)

void HWindow::SetPart(const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2) const

void HWindow::SetPart(Hlong Row1, Hlong Column1, Hlong Row2, Hlong Column2) const

static void HOperatorSet.SetPart(HTuple windowHandle, HTuple row1, HTuple column1, HTuple row2, HTuple column2)

void HWindow.SetPart(HTuple row1, HTuple column1, HTuple row2, HTuple column2)

void HWindow.SetPart(int row1, int column1, int row2, int column2)

Beschreibung

set_partset_partSetPartSetPartSetPart verändert den Bildausschnitt, der im Ausgabefenster dargestellt wird. (Row1Row1Row1Row1row1,Column1Column1Column1Column1column1) bezeichnet dabei den linken oberen und (Row2Row2Row2Row2row2,Column2Column2Column2Column2column2) den rechten unteren Eckpunkt des Ausschnitts. Er wird von allen Ausgaberoutinen sowohl für Grauwerte disp_imagedisp_imageDispImageDispImageDispImage, disp_colordisp_colorDispColorDispColorDispColor als auch für Regionen (disp_regiondisp_regionDispRegionDispRegionDispRegion) beachtet.

Ist nur ein Teil eines Bildes darzustellen, wird dieser Ausschnitt auf die volle Fenstergröße vergrößert. Die dafür eingesetzte Interpolations- Methode kann mittels set_part_styleset_part_styleSetPartStyleSetPartStyleSetPartStyle eingestellt werden. Die Daten des Bildausschnitts liefert der Operator get_partget_partGetPartGetPartGetPart. Wird die Fenstergröße an die Größe des anzuzeigenden Bildteils angepasst, verhindert dies eine Verlangsamung der Anzeige durch notwendige Interpolationen. Daher ist das Fenster vorzugsweise gleich groß wie der anzuzeigende Bildteil, oder ansonsten halb so groß, ein Viertel so groß, etc.

Neben dem direkten Setzen des Bildausschnitts werden die folgenden Sonderfälle unterstützt:

Row1Row1Row1Row1row1 = Column1Column1Column1Column1column1 = Row2Row2Row2Row2row2 = Column2Column2Column2Column2column2 = -1:

Der Bildausschnitt entspricht genau der Fenstergröße, d.h. das Bild wird nicht gezoomt, gegebenenfalls aber abgeschnitten.

Row1Row1Row1Row1row1, Column1Column1Column1Column1column1 > -1 und Row2Row2Row2Row2row2 = Column2Column2Column2Column2column2 = -1:

Der Bildausschnitt entspricht der Größe des letzten dargestellten Bildes, d.h. das letzte Bild wird vollständig in dem Fenster dargestellt und dafür gegebenenfalls gezoomt.

Row1Row1Row1Row1row1 = Column1Column1Column1Column1column1 = 0 und Row2Row2Row2Row2row2 = Column2Column2Column2Column2column2 = -2:

Der Bildausschnitt wird so angepasst, dass das letzte dargestellte Bild vollständig in das Fenster passt, wobei das Seitenverhältnis des Bildes erhalten bleibt. Dafür wird das Bild gegebenenfalls gezoomt.

Ausführungsinformationen

Parameter

WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (input_control)  window HWindow, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Fenster-Handle.

Row1Row1Row1Row1row1 (input_control)  rectangle.origin.y HTupleHTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Zeilennummer des linken oberen Eckpunkts des Bildausschnitts.

Defaultwert: 0

Column1Column1Column1Column1column1 (input_control)  rectangle.origin.x HTupleHTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Spaltennummer des linken oberen Eckpunkts des Bildausschnitts.

Defaultwert: 0

Row2Row2Row2Row2row2 (input_control)  rectangle.corner.y HTupleHTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Zeilennummer des rechten unteren Eckpunkts des Bildausschnitts.

Defaultwert: -1

Restriktion: Row2 >= Row1 || Row2 == -1 || Row1 == 0 && Row2 == -2

Column2Column2Column2Column2column2 (input_control)  rectangle.corner.x HTupleHTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Spaltennummer des rechten unteren Eckpunkts des Bildausschnitts

Defaultwert: -1

Restriktion: Column2 >= Column1 || Column2 == -1 || Column1 == 0 && Column2 == -2

Beispiel (HDevelop)

get_system('width',Width)
get_system('height',Height)
set_part(WindowHandle,0,0,Height-1,Width-1)
disp_image(Image,WindowHandle)
draw_rectangle1(WindowHandle,Row1,Column1,Row2,Column2)
set_part(WindowHandle,Row1,Column1,Row2,Column2)
disp_image(Image,WindowHandle)

Beispiel (C)

get_system("width",width);
get_system("height",height);
create_tuple_i(&twidth, width-1);
create_tuple_i(&theight, height-1);
create_tuple_i(&zero, 0);
T_set_part(WindowHandle,zero,zero,theight,twidth);
destroy_tuple(twidth); destroy_tuple(theight); destroy_tuple(zero);
T_disp_image(Image,WindowHandle);
T_draw_rectangle1(WindowHandle,&Row1,&Col1,&Row2,&Col2);
T_set_part(WindowHandle,Row1,Col1,Row2,Col2);
T_disp_image(Image,WindowHandle);
destroy_tuple(Row1); destroy_tuple(Col1);
destroy_tuple(Row2); destroy_tuple(Col2);

Beispiel (HDevelop)

get_system('width',Width)
get_system('height',Height)
set_part(WindowHandle,0,0,Height-1,Width-1)
disp_image(Image,WindowHandle)
draw_rectangle1(WindowHandle,Row1,Column1,Row2,Column2)
set_part(WindowHandle,Row1,Column1,Row2,Column2)
disp_image(Image,WindowHandle)

Beispiel (HDevelop)

get_system('width',Width)
get_system('height',Height)
set_part(WindowHandle,0,0,Height-1,Width-1)
disp_image(Image,WindowHandle)
draw_rectangle1(WindowHandle,Row1,Column1,Row2,Column2)
set_part(WindowHandle,Row1,Column1,Row2,Column2)
disp_image(Image,WindowHandle)

Beispiel (HDevelop)

get_system('width',Width)
get_system('height',Height)
set_part(WindowHandle,0,0,Height-1,Width-1)
disp_image(Image,WindowHandle)
draw_rectangle1(WindowHandle,Row1,Column1,Row2,Column2)
set_part(WindowHandle,Row1,Column1,Row2,Column2)
disp_image(Image,WindowHandle)

Ergebnis

set_partset_partSetPartSetPartSetPart liefert den Wert 2 (H_MSG_TRUE), falls das Fenster gültig ist. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Vorgänger

get_partget_partGetPartGetPartGetPart

Nachfolger

set_part_styleset_part_styleSetPartStyleSetPartStyleSetPartStyle, disp_imagedisp_imageDispImageDispImageDispImage, disp_regiondisp_regionDispRegionDispRegionDispRegion

Alternativen

affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage

Siehe auch

get_partget_partGetPartGetPartGetPart, set_part_styleset_part_styleSetPartStyleSetPartStyleSetPartStyle, disp_regiondisp_regionDispRegionDispRegionDispRegion, disp_imagedisp_imageDispImageDispImageDispImage, disp_colordisp_colorDispColorDispColorDispColor

Modul

Foundation