KlassenKlassenKlassenKlassen | | | | Operatoren

copy_rectanglecopy_rectangleCopyRectanglecopy_rectangleCopyRectangleCopyRectangle (Operator)

Name

copy_rectanglecopy_rectangleCopyRectanglecopy_rectangleCopyRectangleCopyRectangle — Kopieren aller Pixel eines Rechtecks zwischen Ausgabefenstern.

Signatur

copy_rectangle( : : WindowHandleSource, WindowHandleDestination, Row1, Column1, Row2, Column2, DestRow, DestColumn : )

Herror copy_rectangle(const Hlong WindowHandleSource, const Hlong WindowHandleDestination, const Hlong Row1, const Hlong Column1, const Hlong Row2, const Hlong Column2, const Hlong DestRow, const Hlong DestColumn)

Herror T_copy_rectangle(const Htuple WindowHandleSource, const Htuple WindowHandleDestination, const Htuple Row1, const Htuple Column1, const Htuple Row2, const Htuple Column2, const Htuple DestRow, const Htuple DestColumn)

Herror copy_rectangle(const HTuple& WindowHandleSource, const HTuple& WindowHandleDestination, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, const HTuple& DestRow, const HTuple& DestColumn)

void HWindow::CopyRectangle(const HTuple& WindowHandleDestination, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, const HTuple& DestRow, const HTuple& DestColumn) const

void CopyRectangle(const HTuple& WindowHandleSource, const HTuple& WindowHandleDestination, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, const HTuple& DestRow, const HTuple& DestColumn)

void HWindow::CopyRectangle(const HWindow& WindowHandleDestination, const HTuple& Row1, const HTuple& Column1, const HTuple& Row2, const HTuple& Column2, const HTuple& DestRow, const HTuple& DestColumn) const

void HWindow::CopyRectangle(const HWindow& WindowHandleDestination, Hlong Row1, Hlong Column1, Hlong Row2, Hlong Column2, Hlong DestRow, Hlong DestColumn) const

void HOperatorSetX.CopyRectangle(
[in] VARIANT WindowHandleSource, [in] VARIANT WindowHandleDestination, [in] VARIANT Row1, [in] VARIANT Column1, [in] VARIANT Row2, [in] VARIANT Column2, [in] VARIANT DestRow, [in] VARIANT DestColumn)

void HWindowX.CopyRectangle(
[in] IHWindowX* WindowHandleDestination, [in] VARIANT Row1, [in] VARIANT Column1, [in] VARIANT Row2, [in] VARIANT Column2, [in] VARIANT DestRow, [in] VARIANT DestColumn)

static void HOperatorSet.CopyRectangle(HTuple windowHandleSource, HTuple windowHandleDestination, HTuple row1, HTuple column1, HTuple row2, HTuple column2, HTuple destRow, HTuple destColumn)

void HWindow.CopyRectangle(HWindow windowHandleDestination, HTuple row1, HTuple column1, HTuple row2, HTuple column2, HTuple destRow, HTuple destColumn)

void HWindow.CopyRectangle(HWindow windowHandleDestination, int row1, int column1, int row2, int column2, int destRow, int destColumn)

Beschreibung

copy_rectanglecopy_rectangleCopyRectanglecopy_rectangleCopyRectangleCopyRectangle kopiert alle Pixel, die innerhalb des durch die Parameter Row1Row1Row1Row1Row1row1, Column1Column1Column1Column1Column1column1, Row2Row2Row2Row2Row2row2 und Column2Column2Column2Column2Column2column2 beschriebenen Rechtecks liegen, aus dem angegebenen Window mit der logischen Fensternummer WindowHandleSourceWindowHandleSourceWindowHandleSourceWindowHandleSourceWindowHandleSourcewindowHandleSource in das angegebene Window mit der logischen Fensternummer WindowHandleDestinationWindowHandleDestinationWindowHandleDestinationWindowHandleDestinationWindowHandleDestinationwindowHandleDestination. Die Zielposition wird durch die linke obere Ecke des Rechtecks (DestRowDestRowDestRowDestRowDestRowdestRow, DestColumnDestColumnDestColumnDestColumnDestColumndestColumn) festgelegt.

Falls mehr als ein Rechteck bewegt werden soll, können diese gleichzeitig (in Form von Tupeln) übergeben werden.

copy_rectanglecopy_rectangleCopyRectanglecopy_rectangleCopyRectangleCopyRectangle ist dafür gedacht, aufbereitete Graphiken aus einem „unsichtbaren“ Fenster in ein sichtbares Fenster zu kopieren. Hierzu wird ein Fenster mit der Option 'buffer' geöffnet. In dieses Fenster wird die Graphik ausgegeben und danach in ein sichtbares Fenster kopiert. Der Vorteil dieser Vorgehensweise besteht darin, dass copy_rectanglecopy_rectangleCopyRectanglecopy_rectangleCopyRectangleCopyRectangle viel schneller als Ausgabeprozeduren wie z.B. disp_channeldisp_channelDispChanneldisp_channelDispChannelDispChannel ist. Dies ist insbesondere bei Demo-Programmen von Vorteil. Es lassen sich hiermit auch kurze „clips“ realisieren: Hierzu wird für jedes Bild der Folge ein Fenster vom Typ 'buffer' angelegt und die Daten darauf ausgegeben. Ausgegeben wird die Bildfolge, indem alle Puffer nacheinander in ein sichtbares Fenster kopiert werden.

Achtung

Beide Fenster müssen auf demselben Display liegen.

Parallelisierung

Parameter

WindowHandleSourceWindowHandleSourceWindowHandleSourceWindowHandleSourceWindowHandleSourcewindowHandleSource (input_control)  window HWindow, HTupleHTupleHTupleHWindowX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Nummer des Quellfensters.

WindowHandleDestinationWindowHandleDestinationWindowHandleDestinationWindowHandleDestinationWindowHandleDestinationwindowHandleDestination (input_control)  window HWindow, HTupleHTupleHTupleHWindowX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Nummer des Zielfensters.

Row1Row1Row1Row1Row1row1 (input_control)  rectangle.origin.y(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Zeilenindex der linken oberen Ecke im Quellfenster.

Defaultwert: 0

Typischer Wertebereich: 0 ≤ Row1 Row1 Row1 Row1 Row1 row1 ≤ 511 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Column1Column1Column1Column1Column1column1 (input_control)  rectangle.origin.x(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Spaltenindex der linken oberen Ecke im Quellfenster.

Defaultwert: 0

Typischer Wertebereich: 0 ≤ Column1 Column1 Column1 Column1 Column1 column1 ≤ 511 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Row2Row2Row2Row2Row2row2 (input_control)  rectangle.corner.y(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Zeilenindex der rechten unteren Ecke im Quellfenster.

Defaultwert: 128

Typischer Wertebereich: 0 ≤ Row2 Row2 Row2 Row2 Row2 row2 ≤ 511 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Restriktion: Row2 >= Row1

Column2Column2Column2Column2Column2column2 (input_control)  rectangle.corner.x(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Spaltenindex der rechten unteren Ecke im Quellfenster.

Defaultwert: 128

Typischer Wertebereich: 0 ≤ Column2 Column2 Column2 Column2 Column2 column2 ≤ 511 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Restriktion: Column2 >= Column1

DestRowDestRowDestRowDestRowDestRowdestRow (input_control)  point.y(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Zeilenindex des linken oberen Ecks im Zielfenster.

Defaultwert: 0

Typischer Wertebereich: 0 ≤ DestRow DestRow DestRow DestRow DestRow destRow ≤ 511 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

DestColumnDestColumnDestColumnDestColumnDestColumndestColumn (input_control)  point.x(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Spaltenindex des linken oberen Ecks im Zielfenster.

Defaultwert: 0

Typischer Wertebereich: 0 ≤ DestColumn DestColumn DestColumn DestColumn DestColumn destColumn ≤ 511 (lin)

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

Beispiel (HDevelop)

read_image(Image,'monkey')
open_window(0,0,-1,-1,'root','buffer','',WindowHandleBuffer)
disp_obj(Image,WindowHandleBuffer)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
copy_rectangle(WindowHandleBuffer,WindowHandle,\
               Row1, Column1, Row2, Column2,Row1,Column1)
close_window(WindowHandleBuffer)

Beispiel (C)

read_image(Image,"monkey") ;
open_window(0,0,-1,-1,"root","buffer","",&WindowHandle) ;
disp_image(Image,WindowHandle) ;
open_window(0,0,-1,-1,"root","visible","",&WindowHandleDestination) ;
do {
  get_mbutton(WindowHandleDestination,&Row,&Column,&Button) ;
  copy_rectangle(BufferID,WindowHandleDestination,90,120,390,Row,Column) ;
}
while(Button > 1) ;
close_window(WindowHandleDestination) ;
close_window(WindowHandle) ;
clear_obj(Image) ;

Beispiel (HDevelop)

read_image(Image,'monkey')
open_window(0,0,-1,-1,'root','buffer','',WindowHandleBuffer)
disp_obj(Image,WindowHandleBuffer)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
copy_rectangle(WindowHandleBuffer,WindowHandle,\
               Row1, Column1, Row2, Column2,Row1,Column1)
close_window(WindowHandleBuffer)

Beispiel (HDevelop)

read_image(Image,'monkey')
open_window(0,0,-1,-1,'root','buffer','',WindowHandleBuffer)
disp_obj(Image,WindowHandleBuffer)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
copy_rectangle(WindowHandleBuffer,WindowHandle,\
               Row1, Column1, Row2, Column2,Row1,Column1)
close_window(WindowHandleBuffer)

Beispiel (HDevelop)

read_image(Image,'monkey')
open_window(0,0,-1,-1,'root','buffer','',WindowHandleBuffer)
disp_obj(Image,WindowHandleBuffer)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
copy_rectangle(WindowHandleBuffer,WindowHandle,\
               Row1, Column1, Row2, Column2,Row1,Column1)
close_window(WindowHandleBuffer)

Beispiel (HDevelop)

read_image(Image,'monkey')
open_window(0,0,-1,-1,'root','buffer','',WindowHandleBuffer)
disp_obj(Image,WindowHandleBuffer)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
copy_rectangle(WindowHandleBuffer,WindowHandle,\
               Row1, Column1, Row2, Column2,Row1,Column1)
close_window(WindowHandleBuffer)

Ergebnis

Ist das Ausgabefenster gültig und sind die angegebenen Parameter korrekt, dann liefert copy_rectanglecopy_rectangleCopyRectanglecopy_rectangleCopyRectangleCopyRectangle den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

open_windowopen_windowOpenWindowopen_windowOpenWindowOpenWindow, open_textwindowopen_textwindowOpenTextwindowopen_textwindowOpenTextwindowOpenTextwindow

Nachfolger

close_windowclose_windowCloseWindowclose_windowCloseWindowCloseWindow

Alternativen

move_rectanglemove_rectangleMoveRectanglemove_rectangleMoveRectangleMoveRectangle, slide_imageslide_imageSlideImageslide_imageSlideImageSlideImage

Siehe auch

open_windowopen_windowOpenWindowopen_windowOpenWindowOpenWindow, open_textwindowopen_textwindowOpenTextwindowopen_textwindowOpenTextwindowOpenTextwindow

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren