slide_imageT_slide_imageSlideImageSlideImageslide_image (Operator)
Name
slide_imageT_slide_imageSlideImageSlideImageslide_image — Interaktives Ausgeben aus zwei Fenster-Puffern.
Warnung
Der Operator slide_imageslide_imageSlideImageSlideImageSlideImageslide_image funktioniert nicht mit HDevelop Grafikfenstern.
Er wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt.
Signatur
Beschreibung
slide_imageslide_imageSlideImageSlideImageSlideImageslide_image teilt das Fenster in Abhängigkeit von der
Mausposition horizontal in zwei logische Bereiche. In den oberen wird der
Inhalt des ersten angegebenen Fensters kopiert, in den unteren der Inhalt
des zweiten Fensters. Drückt man die linke Maustaste, kann die Grenze
zwischen den beiden Bereichen verschoben werden (die Maus darf dazu auch
außerhalb des Fensters bewegt werden. Dabei legt die Position der Maus
relativ zum Fenster die Trennlinie fest).
Durch einen Klick mit der rechten Maustaste in das Fenster wird
der Operator slide_imageslide_imageSlideImageSlideImageSlideImageslide_image beendet.
Der Operator slide_imageslide_imageSlideImageSlideImageSlideImageslide_image lässt sich sinnvoll verwenden, um
die Auswirkung etwa einer Filteroperation auf ein Bild zu visualisieren.
Die Ausgabe erfolgt auf das aktuell gesetzte Fenster
(WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle).
Achtung
Die drei Fenster müssen die gleiche Größe haben und sich auf dem
gleichen Rechner befinden.
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
WindowHandleSource1WindowHandleSource1WindowHandleSource1WindowHandleSource1windowHandleSource1window_handle_source_1 (input_control) window → HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Logische Fensternummer des „oberen Fensters“.
WindowHandleSource2WindowHandleSource2WindowHandleSource2WindowHandleSource2windowHandleSource2window_handle_source_2 (input_control) window → HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Logische Fensternummer des „unteren Fensters“.
WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle (input_control) window → HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Fenster-Handle.
Beispiel (HDevelop)
read_image (Image, 'fabrik')
sobel_dir (Image, EdgeAmplitude, EdgeDirection, 'sum_abs', 3)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle1)
dev_display (EdgeAmplitude)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle2)
dev_display (EdgeDirection)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
slide_image (WindowHandle1, WindowHandle2, WindowHandle)
Beispiel (C)
read_image(&Image,"fabrik");
sobel_amp(Image,&Amp,"sum_abs",3);
open_window(0,0,-1,-1,"root","buffer","",&Buffer1);
disp_image(Amp,Buffer1);
sobel_dir(Image,&Amp,&Dir,"sum_abs",3);
open_window(0,0,-1,-1,"root","buffer","",&Buffer2);
disp_image(Dir,Buffer2);
open_window(0,0,-1,-1,"root","visible","",&WindowHandle);
slide_image(Buffer1,Buffer2,WindowHandle);
Beispiel (HDevelop)
read_image (Image, 'fabrik')
sobel_dir (Image, EdgeAmplitude, EdgeDirection, 'sum_abs', 3)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle1)
dev_display (EdgeAmplitude)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle2)
dev_display (EdgeDirection)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
slide_image (WindowHandle1, WindowHandle2, WindowHandle)
Beispiel (HDevelop)
read_image (Image, 'fabrik')
sobel_dir (Image, EdgeAmplitude, EdgeDirection, 'sum_abs', 3)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle1)
dev_display (EdgeAmplitude)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle2)
dev_display (EdgeDirection)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
slide_image (WindowHandle1, WindowHandle2, WindowHandle)
Beispiel (HDevelop)
read_image (Image, 'fabrik')
sobel_dir (Image, EdgeAmplitude, EdgeDirection, 'sum_abs', 3)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle1)
dev_display (EdgeAmplitude)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle2)
dev_display (EdgeDirection)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
slide_image (WindowHandle1, WindowHandle2, WindowHandle)
Ergebnis
slide_imageslide_imageSlideImageSlideImageSlideImageslide_image liefert den Wert 2 (H_MSG_TRUE), falls beide Fenster
existieren und ein Fenster davon gültig ist.
Ansonsten wird eine Fehlerbehandlung durchgeführt.
Vorgänger
open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window
Alternativen
copy_rectanglecopy_rectangleCopyRectangleCopyRectangleCopyRectanglecopy_rectangle,
get_mpositionget_mpositionGetMpositionGetMpositionGetMpositionget_mposition
Siehe auch
open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window,
move_rectanglemove_rectangleMoveRectangleMoveRectangleMoveRectanglemove_rectangle
Modul
Foundation