Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi TPNGImage (https://www.delphipraxis.net/135212-tpngimage.html)

seim 6. Jun 2009 20:49


TPNGImage
 
Hab' grad n kleines Problem hier mit bei Delphi 2007: http://www.isheu.com/data_5095_1.aspx

Das Ding funktioniert super mit PNG Dateien, auch Transparenz im TImage ist vorhanden, allerdings lässt sich bei mir eine Datei immer nur zur Laufzeit laden

Delphi-Quellcode:
MyPic.Picture.LoadFromFile('pic.png');
Wenn ich über den Objektinspektor ein bild öffnen will werden einfach keine .png's geladen - die stehen nichtmal in der Liste vom Öffnen-Dialog.

Mache ich da was falsch? Ist recht nervig wenn man die nicht in die Datei mit einkompilieren kann :/

mkinzler 6. Jun 2009 20:54

Re: TPNGImage
 
Ist die Unit im interface eingebunden?

jaenicke 6. Jun 2009 20:54

Re: TPNGImage
 
Speichere die Dateien als Ressource, bis Delphi 2007 werden alle in der IDE geladenen Bilder als Bitmap in der Exe gespeichert...
Dementsprechend groß wird die dann.

Wenn du eine Ressource erstellt und eingebunden hast, erstellst du ein TPNGImage und lädst das aus einem TResourceStream hinein.

// EDIT:
Zitat:

Zitat von mkinzler
Ist die Unit im interface eingebunden?

Sonst würde es zur Laufzeit ja nicht klappen. :stupid:
Das hilft aber in der Delphi IDE nix.

mkinzler 6. Jun 2009 20:57

Re: TPNGImage
 
Zur Laufzeit ist es egal, ob im Interface oder im Implementationsteil in der IDE nicht

seim 6. Jun 2009 21:22

Re: TPNGImage
 
Okay.. http://www.delphipraxis.net/internal_redirect.php?t=326

Also was schlägst du vor soll ich als Resource Typ nehmen? PNG gibt es nciht schätze ich mal :stupid:

igel457 6. Jun 2009 21:52

Re: TPNGImage
 
Du musst von das entsprechende Designtime-Package von DelphiPNG installieren, dann kannst du auch in der IDE PNGs laden.

seim 6. Jun 2009 22:03

Re: TPNGImage
 
Hmm das ist zwar nicht in der zip enthalten aber von einer älteren gibt es das hier: http://code.google.com/p/cubicexplor...s.zip&can=2&q=

Das funktioniert auch. Dennoch würde mich das mit den Ressourcen auch noch interessieren :thumb:


Noch ne Sache.. pngimage und graphicex kommen sich nun in die Quere (PNG's werden transparent oder nicht-transparent dargestellt je nach Designtime-Editor oder OpenPictureDialog Verwendung)

Bernhard Geyer 7. Jun 2009 13:17

Re: TPNGImage
 
Zitat:

Zitat von seim
Noch ne Sache.. pngimage und graphicex kommen sich nun in die Quere (PNG's werden transparent oder nicht-transparent dargestellt je nach Designtime-Editor oder OpenPictureDialog Verwendung)

Du musst eines von beiden soweit modifizieren das es sich nicht als Betrachter für PNG's in der IDE registriert. Oder die Registrierung soweit anpassen das du sofort erkennen kannst welches PNG mit welche Bibliothek verknüpft ist.

seim 11. Jun 2009 13:01

Re: TPNGImage
 
Zitat:

Zitat von Bernhard Geyer
Du musst eines von beiden soweit modifizieren das es sich nicht als Betrachter für PNG's in der IDE registriert. Oder die Registrierung soweit anpassen das du sofort erkennen kannst welches PNG mit welche Bibliothek verknüpft ist.

Ok das ging recht einfach..

die graphicex Lib hat eine Datei namens "GraphicConfiguration.inc"

Delphi-Quellcode:
// Pick your preferred image formats here or leave them all enabled. By disabling
// certain formats which are not of interest you can save some memory.
{$define SGIGraphic}             // *.bw, *.rgb, *.rgba, *.sgi images are supported
{$define AutodeskGraphic}        // *.cel, *.pic images
{$define TIFFGraphic}            // *.tif, *.tiff images
{$define TargaGraphic}           // *.tga, *.vst, *.icb, *.vda, *.win images
{$define PCXGraphic}             // *.pcx, *.pcc, *.scr images
{$define PCDGraphic}             // *.pcd images
{$define PortableMapGraphic}     // *.ppm, *.pgm, *.pbm images
{$define CUTGraphic}             // *.cut (+ *.pal) images
{$define GIFGraphic}             // *.gif images
{$define RLAGraphic}             // *.rla, *.rpf images
{$define PhotoshopGraphic}       // *.psd, *.pdd images
{$define PaintshopProGraphic}    // *.psp images
{.$define PortableNetworkGraphic} // *.png images
{$define EPSGraphic}             // *.eps images
Und da muss einfach das define für png's unbrauchbar gemacht werden


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