![]() |
PNG anzeigen lassen
Hallo
Ich will mir auf nem Formular verschiedene Png-Bilder anzeigen lassen, bekomme das aber nicht hin :-( Ich hab mir ein Bsp. aus der Delphihilfe rauskopiert aber das funzt nicht da bekomme ich die Fehlermeldung
Delphi-Quellcode:
bei
[Fehler] tbitmap.pas(54): '.' erwartet, aber ';' gefunden
Delphi-Quellcode:
Hier der Code
var
BitMap1: TBitMap;
Delphi-Quellcode:
Ich hab noch nie mit Grafiken gearbeitet und in der DP auch nichts gefunden, hoffe ihr könnt mir helfen.
procedure TForm1.Button1Click(Sender: TObject);
var BitMap1: TBitMap; begin BitMap1 := TBitMap.Create; try BitMap1.LoadFromFile('c:\Program Files\common Files\Borland Shared\Images\Splash\256color\factory.png'); Canvas.Draw(20,20,BitMap1); finally BitMap1.Free; end; end; |
Re: PNG anzeigen lassen
1.
PNG mit TBitMap laden Geht auf jeden fall nicht. Du musst dir von torry.net mal eine PNG Komponente downloaden. 2. Schreib mal deine Uses Klausel, ich schätze mal du hast tbitmap drinne, muss aber graphics lauten. |
Re: PNG anzeigen lassen
Eine sehr gute in Delphi geschriebene PNG-Komponte findest Du unter
![]() Delphi bietet von sich aus nur sehr schlechten PNG-Support. |
Re: PNG anzeigen lassen
Hier ein Auszug aus der Delphihilfe:
Delphi-Quellcode:
Wegen BitMap.LoadFromFile('MyBitmap.png'); dachte ich das ginge.
procedure TForm1.Button1Click(Sender: TObject);
// Dieses Beispiel zeigt die direkte Ausgabe in ein Bitmap var x,y : Integer; BitMap : TBitMap; P : PByteArray; begin BitMap := TBitMap.create; try // Ersetzen Sie in Windows MyBitmap.png durch den vollständigen Pfadnamen: // C:\Program Files\Common Files\Borland Shared\Images\Splash\256color\factory.bmp BitMap.LoadFromFile('MyBitmap.png'); for y := 0 to BitMap.Height -1 do begin P := BitMap.ScanLine[y]; for x := 0 to BitMap.Width -1 do P[x] := y; end; Canvas.Draw(0,0,BitMap); finally BitMap.Free; end; end; Graphics hab ich in der uses drinne und bei der Sourgeforge-komponente fehlt ihm beim kompilieren die pngimage.dcu |
Re: PNG anzeigen lassen
Wenn die Datei "pngimage.dcu" nicht gefunden werden kannst mußt Du noch den Delphi-Suchpfad ergänzen, so das der Pfad in der die Datei "pngimage.pas" liegt auch aufgenommen ist.
Ist nun mal m.E. 'ne Macke von Delphi hier nicht selbständig den Suchpfad zu ergänzen wenn Packages hinzugefügt werden. |
Re: PNG anzeigen lassen
Danke Bernhard, jetzt gehts weiter, nun fehlt ihm die pngextra.dcu und weder diese dcu oder die pas hab ich auf der Platte. Muß ich da noch extra was downloaden?
|
Re: PNG anzeigen lassen
pngextra? Sagt mir nichts. In welcher Unit wird diese verwendet?
|
Re: PNG anzeigen lassen
Delphi-Quellcode:
program showcase2;
uses Forms, showcase2unit in 'showcase2unit.pas' {Form1}, pngextra in '..\pngextra.pas'; {<-- Hier kommt die Fehlermeldung} {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. |
Re: PNG anzeigen lassen
Hab die entsprechende Zeile rausgenommen und jetzt geht die Komponente. Nun hab ich aber schon ne neue Frage, kann ich auch einfach nur die pngimage.pas in mein Prog einbinden und dann direkt mit den png's arbeiten? Wenn ja, kennt sich jmd damit aus und kann mir ein paar Stichwörter dazu geben? Ich hab nicht die Zeit mir 5000+ Zeilen Code durchzulesen.
Schon im Voraus vielen Dank. |
Re: PNG anzeigen lassen
Sicher kannst Du damit ohne ein Formular arbeiten, indem du es codemäßig anlegt.
Code:
Was willst machen?
var
png: TPngObject; begin png := TPngObject.Create(nil); try // Dosomething finally png.Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 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