![]() |
Re: Bitmap auf Bildschirm zeichnen
Zitat:
Zitat:
|
Re: Bitmap auf Bildschirm zeichnen
Du meinst so:
Delphi-Quellcode:
Geht aber auch nicht, das flimmern bleibt ...
var
hdcDesktop: HDC; begin hdcDesktop := GetDC(0); If hdcDesktop <> 0 then StretchBlt(hdcDesktop, 0, 0, GetSystemMetrics(SM_CXSCREEN), // Screenbreite GetSystemMetrics(SM_CYSCREEN), // Screenhöhe Bitmap.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, SRCCOPY); ReleaseDC (0, hdcDesktop); end; |
Re: Bitmap auf Bildschirm zeichnen
Zitat:
Delphi-Quellcode:
BitBlt(hdcDesktop, XOffset, YOffset BMP.Width, BMP.Height, BMPnegativ.Canvas.Handle, 0, 0, SRCCOPY);
BitBlt(hdcDesktop, XOffset, YOffset BMP.Width, BMP.Height, BMPpositiv.Canvas.Handle, 0, 0, SRCCOPY); |
Re: Bitmap auf Bildschirm zeichnen
Zitat:
Desweiteren sei gesagt, dass dieses Zeichen aus einem Simulationsthread heraus geschieht, es muss also möglichst performant sein, und nicht die VCL benutzen ... |
Re: Bitmap auf Bildschirm zeichnen
Schon Gut,
Frage: Lädtst du ein und das selbe Bild mehrmals(dadurch würde ein Flimmern auftreten)? :?: :?: Wenn ja, wie währe es wenn du dir einfach eine Variable(vom Typ boolean) schaffst die das abfängt, dann hast du auch kein flimmern mehr. |
Re: Bitmap auf Bildschirm zeichnen
Nein, ich zeichne immer meine Simulation auf einen Bitmap, dann den Bitmap auf den Bildschirm.
Das Flimmern tritt ja auch nur auf, wenn ich ein anderes Fenster habe, das meint, sich zeichnen zu müssen, wie z.B. Die Taskbuttons, wenn ma auf die draufgeht, dann gibts ja diesen Hovereffekt, dass die son bisschen leuchten, das zeichnet sich halt neu, und kommt dann ab und zu über mein tolles Bitmap, und weil das zig mal pro Sekunde gezeichnet wird, ist an dieser Stelle mal das Fenster, und mal mein Bitmap zu sehen, also flimmeert es ...) |
Re: Bitmap auf Bildschirm zeichnen
Zitat:
|
Re: Bitmap auf Bildschirm zeichnen
Dann ist das Fenster, dass meint, sich zeichnen zu müssen länger zu sehen ...
Aber das Bitmap ist eh jedesmal ein anderes, weil sich meine Objekte immer bewegen ... Kann man das DesktopWindow vielleicht so wie fsAlwaysOnTop machen ??? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz