Ich möchte den Bereich einer Zeichenfläche mit reinen Windows GDI
(also ohne GDI +, DirectX oder ähnlich, kein OpenGL, kein Assembler oder Bibliotheken von Drittanbietern).
Ich habe die folgende Funktion erstellt und möchte wissen, ob es einen effizienteren oder einfacheren Weg gibt, dies zu tun:
%Vor%Für die Vorstellung, was diese Funktion machen soll, sehen Sie die folgenden (diskriminierenden :-) Bilder:
Und der Code, der this image
in der gezeigten Weise auf die obere linke Seite des Formulars rendern kann oben:
Gibt es eine effizientere Möglichkeit, dies mit reinem GDI oder Delphi VCL zu tun?
Haben Sie die Leinwandzeichnung mit AlphaBlend ausprobiert?
etwas wie
%Vor%kombiniert mit einem FillRect für die Mischfarbe
Update : Und hier ist ein Code, so nah wie möglich an Ihrer Schnittstelle, aber reine VCL.
Könnte nicht so effizient sein, aber viel einfacher (und etwas portabel).
Wie Remy sagte, um ein Formular auf eine pseudo-persistente Weise zu malen, müssten Sie OnPaint verwenden ...
Tags und Links optimization delphi winapi gdi