AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

BitBlt

Ein Thema von daniel8520 · begonnen am 17. Mai 2004 · letzter Beitrag vom 4. Sep 2004
Antwort Antwort
Seite 1 von 2  1 2      
daniel8520
(Gast)

n/a Beiträge
 
#1

BitBlt

  Alt 17. Mai 2004, 17:09
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!
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

Re: BitBlt

  Alt 17. Mai 2004, 17:17
Da die Funktion doch recht umfangreich ist, würde ich Dich bitten zu sagen, was Du nicht verstehst.

Komplette Beschreibung

Suche: MSDN-Library durchsuchenBitBlt

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.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
daniel8520
(Gast)

n/a Beiträge
 
#3

Re: BitBlt

  Alt 17. Mai 2004, 17:47
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.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4

Re: BitBlt

  Alt 17. Mai 2004, 17:55
Der letzte Parameter gibt an, wie das Original auf das Ziel transferiert werden soll. Einige Beispiele (einfach mal durchtesten)
  • SRCCOPY :: einfaches Kopieren
  • NOTSRCCOPY :: invertiertes Bild kopieren
  • SRCINVERT :: Exclusives oder zwischen Quelle und Ziel, nur wenn die Bits der beiden unterschiedlich ist, wird das Zielbit gesetzt, ansonsten gelöscht.
  • ...

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
daniel8520
(Gast)

n/a Beiträge
 
#5

Re: BitBlt

  Alt 17. Mai 2004, 17:59
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:
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;
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!?
  Mit Zitat antworten Zitat
daniel8520
(Gast)

n/a Beiträge
 
#6

Re: BitBlt

  Alt 17. Mai 2004, 18:10
Ahh, ich hab's schon. Hab ein falsches Handle genommen.

Jetzt geht's.
Danke für eure Hilfe!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: BitBlt

  Alt 17. Mai 2004, 23:25
Moin!

Damit die anderen auch noch was von haben die vielleicht ein gleiches Problem haben:

BitBlt(Test.Canvas.Handle,0,0,400,400,PaintBox.Canvas.Handle,0,0,SRCCOPY); Das Canvas. fehlte beim Bitmap.

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: BitBlt

  Alt 4. Sep 2004, 19:04
Hi,

meine Frage passt jetzt grad hierher.

Und zwar:

ich hab folgenden Code:

Delphi-Quellcode:
  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;
Ebene1 ist eine paintbox, aber da passiert nix. Das Bild wird nicht angezeigt.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: BitBlt

  Alt 4. Sep 2004, 19:06
Setz die Breite und Höhe mal vorm BitBlt
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#10

Re: BitBlt

  Alt 4. Sep 2004, 19:08
Zitat von dizzy:
Setz die Breite und Höhe mal vorm BitBlt
Geht auch nüscht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz