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 1 von 3  1 23      
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#1

PNG und Canvas via BMP und anderes

  Alt 9. Apr 2024, 16:53
Moin Moin.

Ich muss - will - aus einer großen PNG Grafik mit Transparenz via Canvas bestimmte Bereich ausschneiden und speichern.

Canvas geht meines Wissens ja nur mit Bitmap. Bitmap geht nicht mit Transparenz. Oder nur nicht so richtig.

Es gibt etliche Google Treffer für 'Delphi PNG to BMP transparent', aber faul wie ich bin NG online konvertieren lassen nach BMP mit Transparenz. Geht anstandslos. Sieht in Photoshop perfekt aus. Auch in Paint.net. Sogar in Paintshop (anno 1999).

In Delphi im TImage natürlich nicht. Wo kommen wir dahin. Siehe Bild. Oberer Teil Screenshot aus Paint.net, unterer Teil aus our fabulous Delphi.

Was ist hier los?

creehawk
Miniaturansicht angehängter Grafiken
shit.png  
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#2

AW: PNG und Canvas via BMP und anderes

  Alt 9. Apr 2024, 17:57
Versuchs mal mit Graphics32 oder TImage32
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#3

AW: PNG und Canvas via BMP und anderes

  Alt 9. Apr 2024, 18:20
Du beschreibst gar nicht, wie du das in Delphi gemacht hast.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: PNG und Canvas via BMP und anderes

  Alt 9. Apr 2024, 18:27
Du beschreibst gar nicht, wie du das in Delphi gemacht hast.
Ich lade auf eine Form in ein TImage die online konvertierte BMP um eben via Canvas darin rumzuschnippeln.

Oder was meinst du.
  Mit Zitat antworten Zitat
Benutzerbild von gubbe
gubbe

Registriert seit: 8. Okt 2005
Ort: Schleswig-Holstein
137 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: PNG und Canvas via BMP und anderes

  Alt 9. Apr 2024, 18:48
Dann lade doch das PNG-Bild separat und lasse es in den Canvas von TImage zeichnen.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#6

AW: PNG und Canvas via BMP und anderes

  Alt 9. Apr 2024, 20:42
Ich lade auf eine Form in ein TImage die online konvertierte BMP um eben via Canvas darin rumzuschnippeln.

Oder was meinst du.
Genau das meine ich. Es war mir nicht klar, wie das TImage da jetzt rein sollte.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: PNG und Canvas via BMP und anderes

  Alt 10. Apr 2024, 06:12
Moin Moin.

Egal was ich versuche : das Ergebnis ist immer das gleiche.

Ich muss aus einem teiltransparenten PNG Bild Teilelemente ausschneiden. Das geht bekanntlich via Canvas. Das benötigt BMP. Geht aber offensichtlich nicht.

Oder gibt es eine Möglichkeit direkt aus einem PNG zu schneiden?

creehawk
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: PNG und Canvas via BMP und anderes

  Alt 10. Apr 2024, 06:36
Ich würde mir mal die FMX-Klassen dazu anschauen. Die können diesbezüglich deutlich mehr als die der VCL.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von gubbe
gubbe

Registriert seit: 8. Okt 2005
Ort: Schleswig-Holstein
137 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: PNG und Canvas via BMP und anderes

  Alt 10. Apr 2024, 07:59
Das funktioniert nicht wie in einem Grafikprogramm (wenn Du nicht spezielle Bibliotheken verwendest), sondern Du startest mit einer leeren Bitmap in der passenden Größe und zeichnet dort alles rein.
Wichtig ist, das PixelFormat auf pf32Bit zu setzen, damit Transparenz per Alpha-Kanal funktioniert.

Was funktioniert denn genau nicht bei Deinem bisherigen Code? Das Zeichnen einer transparenten PNG-Datei? Sollte kein Problem sein.
Etwas näheres könnten wir sagen, wenn Du Deinen Ansatz genauer beschreibst oder Beispielcode zeigst. Was ist denn das Zielformat? Wieder PNG mit Transparenz oder einfarbigem Hintergrund?

Es wurden ja auch schon einige Bibliotheken genannt, die man verwenden könnte. Direkt in Delphi enthalten wäre auch noch GDIPlus, was besonders bei Transparenzen und PNG-Dateien seine Vorteile gegenüber den alten GDI-Funktionen (TCanvas) hat.
  Mit Zitat antworten Zitat
Stolle58

Registriert seit: 4. Aug 2023
Ort: Frankfurt
25 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: PNG und Canvas via BMP und anderes

  Alt 10. Apr 2024, 09:44
Hi,

Canvas ist schon das richtige.

Zeig uns mal, was du bis jetzt hast, dann können wir Dir sagen was du falsch machst.
Reinhold
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 11:10 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