Einzelnen Beitrag anzeigen

taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
527 Beiträge
 
Delphi 11 Alexandria
 
#1

Rahmen in fremd gezeichnetes Panel/Form zeichnen

  Alt 18. Okt 2023, 06:51
Hallo Gemeinde,

Mir ist kein besserer Titel eingefallen. Ich benutze eine 64bit C++ DLL API wie schon in einem anderen Post mit einem anderen Problem beschrieben.

Es handelt sich um eine API eines Videostreaming Systems. Für die Anzeige des Streams wird der API ein Handle eines VCL WinControls (TForm oder TPanel) übergeben. Die Api zeichnet dann auf dieses Control mit bis zu 50fps - was wunderbar funktioniert. Ein Feature ist das Digitalzoom welches ebenfalls via API benutzt werden kann. Mit den Mousewheel Events kann ich die Digitalzoom Funktionen ansprechen.

Nun: Um zu sehen welcher Bereich gezoomt wird möchte ich einen Rahmen in Anhängigkeit des Zoomfaktors und der Position in das Bild zeichnen. Mit Canvas geht das (logischerweise ?) nicht da die API permanent auf das Control zeichnet. Irgendwie fehlt mir da die Idee wie so etwas gemacht werden könnte. In meiner Naivität hatte ich gehofft ein Panel Transparent zu setzen und nur den Rahmen dieses zu nutzen. Leider bietet sich diese Möglichkeit nicht. Natürlich könnte ich vier Panels mit Breite 1PX auf das Control legen und dann in Abhängigkeit die Positionen x/y/Breite/Höhe platzieren um einen Rahmen zu simulieren. Dieser sollte dann aber auch noch verschoben werden können.

Gibt es eine einfachere Möglichkeit?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat