AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia PNG und Canvas via BMP und anderes
Thema durchsuchen
Ansicht
Themen-Optionen

PNG und Canvas via BMP und anderes

Ein Thema von creehawk · begonnen am 9. Apr 2024 · letzter Beitrag vom 2. Mai 2024
Antwort Antwort
Seite 3 von 3     123   
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
763 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: PNG und Canvas via BMP und anderes

  Alt 15. Apr 2024, 12:39
Hallo creehawk,

hier noch ein Beispiel, wie du mit TWICImage eine png Datei laden und als png, bmp, gif, tiff, jpeg abspeichern kannst. Weiter: ...wie du eine .png Datei in eine Bitmap laden kannst ...wie du bei gegebenem .png File einen Teil rauskopieren (dein Problem) und den kopierten Teil als .png abspeichern kannst. ...wie du eine ARGB Bitmap inklusive Transparenz abspeichern kannst.
Angehängte Dateien
Dateityp: zip Bitmap32.zip (188,3 KB, 12x aufgerufen)
Michael Gasser
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#22

AW: PNG und Canvas via BMP und anderes

  Alt 18. Apr 2024, 19:32
WICImage wurde hier erwähnt. Ich sehe nicht, wie dies beim Bearbeiten von ARGB Bildern helfen kann. Fürs Laden und Speichern ist es aber echt cool.
Weiss hier jemand wie man mit Delphis VCL TWICImage eine ARGB Bitmap als .BMP speichern kann (Bitmap als .PNG speichern funktioniert problemlos und ist sicher in den allermeisten Fällen eh sinnvoller)? Damit der korrekte ARGB BMP Header geschrieben wird müsste man für .BMP via IWICBitmapFrameEncode, IPropertyBag2 EnableV5Header32bppBGRA=1 setzen - wenn jemand Code hat, dann gern .
(Mich interessiert hier nur TWICImage; dass es durch direktes Schreiben des BMP Headers gut geht, weiss ich.)
Also ich krieg TWICImage nicht dazu, BGRA-Bitmaps zu laden. Also laden schon, nur ohne Alpha. Egal ob per Bitfields oder implizit. Ich nutze daher PNG.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
763 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: PNG und Canvas via BMP und anderes

  Alt 27. Apr 2024, 22:01
Also ich krieg TWICImage nicht dazu, BGRA-Bitmaps zu laden. Also laden schon, nur ohne Alpha. Egal ob per Bitfields oder implizit. Ich nutze daher PNG.
In den meisten Fällen wird man wohl eh als PNG speichern und von PNG laden wollen (File kleiner und Decodieren/Encodieren heute extrem schnell).

Ich kann aber mit WICImage (ohne irgendwas anzupassen) in Delphi 11.2 problemlos ARGB Bitmaps laden. Alphakanal ist mit dabei. Welche Delphi Version verwendest du?
Leider fügt Delphi beim Speichern von ARGBs mit TWICImage nicht automatisch den boolean Variant EnableV5Header32bppBGRA=1/TRUE hinzu und speichert deshalb nur RGB. Deshalb noch einmal meine Frage: Weiss jemand wie man gewünschte Eigenschaften in den Bag einpackt?

Beim Speichern von ARGB Bitmaps schreibt man TBitmapFileHeader, TBitmapV5Header, Bilddaten selbst und gut ist.
Michael Gasser
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
252 Beiträge
 
Delphi 10.3 Rio
 
#24

AW: PNG und Canvas via BMP und anderes

  Alt 1. Mai 2024, 20:39
Meiner Erfahrung nach macht GdiPlus beim Laden/Speichern verschiedenster Formate einen guten Job.
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#25

AW: PNG und Canvas via BMP und anderes

  Alt 2. Mai 2024, 16:38
Also ich krieg TWICImage nicht dazu, BGRA-Bitmaps zu laden. Also laden schon, nur ohne Alpha. Egal ob per Bitfields oder implizit. Ich nutze daher PNG.
In den meisten Fällen wird man wohl eh als PNG speichern und von PNG laden wollen (File kleiner und Decodieren/Encodieren heute extrem schnell).

Ich kann aber mit WICImage (ohne irgendwas anzupassen) in Delphi 11.2 problemlos ARGB Bitmaps laden. Alphakanal ist mit dabei. Welche Delphi Version verwendest du?
11.3 Community. Es geht um die Darstellung in TImage.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
763 Beiträge
 
Delphi 11 Alexandria
 
#26

AW: PNG und Canvas via BMP und anderes

  Alt 2. Mai 2024, 18:12
11.3 Community. Es geht um die Darstellung in TImage.
Ich wähle Datei > Neu > VCL, ergänze meine Form durch ein TImage und einen Button und schreibe diesen Code:

Delphi-Quellcode:
procedure LoadPicFromFile( pic : TGraphic; fn :string );
// lädt .bmp .png .tif .gif .jpg Bilddaten aus der Datei fn in pic
var wicpic : TWICImage;
begin
  wicpic := TWICImage.Create;
 try
  wicpic.LoadFromFile( fn );
  pic.Assign( wicpic );
 finally
  wicpic.Free;
 end;
end;

procedure TForm117.Button1Click(Sender: TObject);
var bmp : TBitMap;
begin
   bmp := TBitMap.Create;
  try
   LoadPicFromFile( bmp, 'C:\Users\micha\Desktop\sf_MEL.bmp' );
   image1.Picture.Graphic := bmp;
  finally
   bmp.Free;
  end;
end;
Lädt bei mir in 11.2 eine Bitmap mit Alphakanal in ein Image - bei dir nicht?
Michael Gasser

Geändert von Michael II ( 2. Mai 2024 um 22:07 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 12:38 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