Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi 32-Bitmap nach Png konvertieren (https://www.delphipraxis.net/148271-32-bitmap-nach-png-konvertieren.html)

torud 26. Feb 2010 11:34


32-Bitmap nach Png konvertieren
 
Hallo Wissende,

ein einfaches BMP nach PNG zu konvertieren faellt mir nicht schwer. Leider habe ich bisher noch keinen Weg gefunden via Delphi-Code ein erzeugtes 32-Bit-Bitmap (mit AlphaChannel) nach Png zu konvertieren, bei dem ich dann auch den Alpha-Channel habe.

Ich habe hier im Forum eine Funktion gefunden, die genau das Gegenteil bewerkstelligt (PNG2BMP). Ich habe zwar versucht diese Routine umzuschreiben, bin aber leider klaeglich gescheitert.

Falls von Euch jemand sowas schon mal gemacht hat, wuerde ich mich ueber etwas Unterstuetzung und Anleitung freuen.

s.h.a.r.k 26. Feb 2010 12:14

Re: 32-Bitmap nach Png konvertieren
 
Schon mal Graphics32 probiert? Könnte mir durchaus vorstellen, dass es damit vielleicht möglich ist.

torud 26. Feb 2010 14:06

Re: 32-Bitmap nach Png konvertieren
 
Hallo Armin,

danke für den Tipp. Ich habs mal damit versucht, aber so einfach, wie gedacht, gehts dann doch nicht.

Hiermit erhalte ich die Fehlermeldung, dass das bmp NICHT dem png zuweisen kann.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  bmp : TBitmap32;
  png : TPNGObject;
begin
  bmp := TBitmap32.Create;
  bmp.LoadFromFile('c:\test.bmp');

  png := TPNGObject.Create;
  png.Assign(bmp);
  png.SaveToFile('c:\test.png');

  bmp.Free;
  png.Free;
end;
Was mache ich da falsch?
Oder
Wie mache ich es besser?

Namenloser 26. Feb 2010 15:01

Re: 32-Bitmap nach Png konvertieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo torud, probier es mal mit der angehängten Unit. Ich habe sie ursprünglich irgendwann mal im Internet gefunden, aber habe sie etwas modifiziert.

torud 26. Feb 2010 16:04

Re: 32-Bitmap nach Png konvertieren
 
Hallo,

danke erstmal. Ich melde mich wieder mit nem Feedback zu Deiner Unit.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 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