Name
copy_rectanglecopy_rectangleCopyRectangleCopyRectangle — Kopieren aller Pixel eines Rechtecks zwischen Ausgabefenstern.
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)
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
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)
copy_rectanglecopy_rectangleCopyRectangleCopyRectangleCopyRectangle kopiert alle Pixel, die innerhalb des durch
die Parameter Row1Row1Row1Row1row1, Column1Column1Column1Column1column1, Row2Row2Row2Row2row2 und
Column2Column2Column2Column2column2 beschriebenen Rechtecks liegen, aus dem angegebenen
Window mit der logischen Fensternummer WindowHandleSourceWindowHandleSourceWindowHandleSourceWindowHandleSourcewindowHandleSource
in das angegebene Window mit der logischen Fensternummer
WindowHandleDestinationWindowHandleDestinationWindowHandleDestinationWindowHandleDestinationwindowHandleDestination. Die Zielposition wird durch die
linke obere Ecke des Rechtecks (DestRowDestRowDestRowDestRowdestRow,
DestColumnDestColumnDestColumnDestColumndestColumn) festgelegt.
Falls mehr als ein Rechteck bewegt werden soll, können diese
gleichzeitig (in Form von Tupeln) übergeben werden.
copy_rectanglecopy_rectangleCopyRectangleCopyRectangleCopyRectangle 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_rectangleCopyRectangleCopyRectangleCopyRectangle viel
schneller als Ausgabeprozeduren wie z.B. disp_channeldisp_channelDispChannelDispChannelDispChannel
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.
Beide Fenster müssen auf demselben Display liegen.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Nummer des Quellfensters.
Zeilenindex der linken oberen Ecke im Quellfenster.
Defaultwert: 0
Typischer Wertebereich: 0
≤
Row1
Row1
Row1
Row1
row1
≤
511 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Spaltenindex der linken oberen Ecke im Quellfenster.
Defaultwert: 0
Typischer Wertebereich: 0
≤
Column1
Column1
Column1
Column1
column1
≤
511 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Zeilenindex der rechten unteren Ecke im Quellfenster.
Defaultwert: 128
Typischer Wertebereich: 0
≤
Row2
Row2
Row2
Row2
row2
≤
511 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Restriktion: Row2 >= Row1
Spaltenindex der rechten unteren Ecke im Quellfenster.
Defaultwert: 128
Typischer Wertebereich: 0
≤
Column2
Column2
Column2
Column2
column2
≤
511 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Restriktion: Column2 >= Column1
Zeilenindex des linken oberen Ecks im Zielfenster.
Defaultwert: 0
Typischer Wertebereich: 0
≤
DestRow
DestRow
DestRow
DestRow
destRow
≤
511 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Spaltenindex des linken oberen Ecks im Zielfenster.
Defaultwert: 0
Typischer Wertebereich: 0
≤
DestColumn
DestColumn
DestColumn
DestColumn
destColumn
≤
511 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
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)
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) ;
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)
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)
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)
Ist das Ausgabefenster gültig und sind die angegebenen Parameter korrekt,
dann liefert copy_rectanglecopy_rectangleCopyRectangleCopyRectangleCopyRectangle den Wert 2 (H_MSG_TRUE).
Andernfalls wird eine Fehlerbehandlung durchgeführt.
open_windowopen_windowOpenWindowOpenWindowOpenWindow
close_windowclose_windowCloseWindowCloseWindowCloseWindow
move_rectanglemove_rectangleMoveRectangleMoveRectangleMoveRectangle,
slide_imageslide_imageSlideImageSlideImageSlideImage
open_windowopen_windowOpenWindowOpenWindowOpenWindow
Foundation