slide_imageT_slide_imageSlideImageSlideImage (Operator)

Name

slide_imageT_slide_imageSlideImageSlideImage — Interaktives Ausgeben aus zwei Fenster-Puffern.

Warnung

Der Operator slide_imageslide_imageSlideImageSlideImageSlideImage funktioniert nicht mit HDevelop Grafikfenstern. Er wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt.

Signatur

slide_image( : : WindowHandleSource1, WindowHandleSource2, WindowHandle : )

Herror T_slide_image(const Htuple WindowHandleSource1, const Htuple WindowHandleSource2, const Htuple WindowHandle)

void SlideImage(const HTuple& WindowHandleSource1, const HTuple& WindowHandleSource2, const HTuple& WindowHandle)

void HWindow::SlideImage(const HWindow& WindowHandleSource2, const HWindow& WindowHandle) const

static void HOperatorSet.SlideImage(HTuple windowHandleSource1, HTuple windowHandleSource2, HTuple windowHandle)

void HWindow.SlideImage(HWindow windowHandleSource2, HWindow windowHandle)

Beschreibung

slide_imageslide_imageSlideImageSlideImageSlideImage 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_imageSlideImageSlideImageSlideImage beendet.

Der Operator slide_imageslide_imageSlideImageSlideImageSlideImage lässt sich sinnvoll verwenden, um die Auswirkung etwa einer Filteroperation auf ein Bild zu visualisieren. Die Ausgabe erfolgt auf das aktuell gesetzte Fenster (WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle).

Achtung

Die drei Fenster müssen die gleiche Größe haben und sich auf dem gleichen Rechner befinden.

Ausführungsinformationen

Parameter

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

Logische Fensternummer des „oberen Fensters“.

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

Logische Fensternummer des „unteren Fensters“.

WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (input_control)  window HWindow, HTupleHTupleHtuple (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_imageSlideImageSlideImageSlideImage 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_windowOpenWindowOpenWindowOpenWindow

Alternativen

copy_rectanglecopy_rectangleCopyRectangleCopyRectangleCopyRectangle, get_mpositionget_mpositionGetMpositionGetMpositionGetMposition

Siehe auch

open_windowopen_windowOpenWindowOpenWindowOpenWindow, move_rectanglemove_rectangleMoveRectangleMoveRectangleMoveRectangle

Modul

Foundation