![]() |
BitBlt
Hallo,
ich mal eine Bitte an euch/dich. Könnte mir mal bitte Jemand die API-Funktion BitBlt erklären. Das wär echt nett von euch/dir! |
Re: BitBlt
Da die Funktion doch recht umfangreich ist, würde ich Dich bitten zu sagen, was Du nicht verstehst.
![]() Suche: ![]() Kurz: Die Funktion BitBlt kopiert Daten bitweise von einem Pixel-Rechteck zu einem anderen Pixel-Rechteck. Alle nötigen Konvertierungen zwischen den verschiedenen Device-Kontexten werden dabei beachtet. ...:cat:... |
Re: BitBlt
Mir würden ja die einzelnen Parameter genügen. Ich steig in der MSDN nicht so wirklich durch.
Insbesondere den letzten Parameter versteh ich nicht. |
Re: BitBlt
Der letzte Parameter gibt an, wie das Original auf das Ziel transferiert werden soll. Einige Beispiele (einfach mal durchtesten)
...:cat:... |
Re: BitBlt
Eigentlich wollte ich ja nur ein Bild ainer PaintBox als BMP speichern. Im Bereich mUltimedia hat mir dann gesagt, dass ich ein TBitmap nehemen soll, und das Canavas über BitBlt kopieren soll. Also hab ich folgendes probiert:
Delphi-Quellcode:
Es wurde aber nur ein weißes Bild gepeichert. Natürlich war im Canavas der PaintBox etwas drin. Könnte mir jemdand sagen, wie ich das anstellen muss!?
procedure TMainForm.Button3Click(Sender: TObject);
var Test: TBitmap; begin Test := TBitmap.Create; Test.Height := 400; Test.Width := 400; BitBlt(Test.Handle,0,0,400,400,PaintBox.Canvas.Handle,0,0,SRCCOPY); Test.SaveToFile('C:\test.bmp'); end; |
Re: BitBlt
Ahh, ich hab's schon. Hab ein falsches Handle genommen.
Jetzt geht's. Danke für eure Hilfe! :dp: |
Re: BitBlt
Moin!
Damit die anderen auch noch was von haben die vielleicht ein gleiches Problem haben:
Delphi-Quellcode:
Das Canvas. fehlte beim Bitmap.
BitBlt(Test.Canvas.Handle,0,0,400,400,PaintBox.Canvas.Handle,0,0,SRCCOPY);
MfG Muetze1 |
Re: BitBlt
Hi,
meine Frage passt jetzt grad hierher. Und zwar: ich hab folgenden Code:
Delphi-Quellcode:
Ebene1 ist eine paintbox, aber da passiert nix. Das Bild wird nicht angezeigt.
with TOpenDialog.Create(nil) do
begin if Execute then begin Bitmap.LoadFromFile(Filename); BitBlt(Ebene1.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, Bitmap.Canvas.Handle , 0, 0, SRCCOPY); Ebene1.Width := Bitmap.Width; Ebene1.Height := Bitmap.Height; end; end; |
Re: BitBlt
Setz die Breite und Höhe mal vorm BitBlt ;)
|
Re: BitBlt
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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