Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi PNGs oder Dateien allgemein in EXE einbinden und auslesen (https://www.delphipraxis.net/164427-pngs-oder-dateien-allgemein-exe-einbinden-und-auslesen.html)

Thom 12. Nov 2011 14:27

AW: PNGs oder Dateien allgemein in EXE einbinden und auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ist die Original-PNG-Unit (Version 1.56) von Gustavo Huffenbacher Daud, bevor sie in Delphi integriert wurde. Die Lizenz besagt:
Zitat:

This component may be distributed freely over the internet only when containing the exact same files from the original packaging.
Das ist der Fall. Da Lizenzen nicht rückwirkend für ältere Versionen geändert werden können, kann diese Version ohne Probleme verwendet werden.

Uwe Raabe 12. Nov 2011 14:42

AW: PNGs oder Dateien allgemein in EXE einbinden und auslesen
 
Und hier gibt es eine passende Komponentensammlung, die wohl auch für Delphi 5 noch funktioniert. Sie enthält allerdings noch eine ältere Version der Png-Library von Gustavo Daud.

DeddyH 12. Nov 2011 14:45

AW: PNGs oder Dateien allgemein in EXE einbinden und auslesen
 
Die habe ich ihm bereits per Mail zugeschickt ^^. Übrigens gibt es dafür auch einen Fix von mir.

Uwe Raabe 12. Nov 2011 14:49

AW: PNGs oder Dateien allgemein in EXE einbinden und auslesen
 
Zitat:

Zitat von DeddyH (Beitrag 1135877)
Übrigens gibt es dafür auch einen Fix von mir.

Ich weiß!

DeddyH 12. Nov 2011 14:54

AW: PNGs oder Dateien allgemein in EXE einbinden und auslesen
 
Ich weiß, dass Du das weißt ;). Ich habe den Fix nur der Vollständigkeit halber verlinkt, falls jemand später mal über diesen Thread stolpert.

entwickler 13. Nov 2011 13:52

AW: PNGs oder Dateien allgemein in EXE einbinden und auslesen
 
Okay, soweit schon einmal ein herzliches Dankeschön an euch alle!

Ich habe die Komponente TPNGButton bei mir installieren können und die bringt auch keine Fehler hervor. Hier einmal der Text:

Delphi-Quellcode:
procedure GetPokemon(Pokemon : TPokemon; Image : TImage);
var
  Bitmap : TBitmap;
  x, y   : Integer;
  ResStr : TResourceStream;
begin
    ResStr := TResourceStream.Create(HInstance, 'Pokedex', RT_RCDATA);
  try
    Pokemon_Pictures.PNGButton1.ImageNormal.LoadFromStream(ResStr);
  finally
    ResStr.Free;
  end;
    Pokemon_Pictures := TPokemon_Pictures.Create(Application);
      try
        Bitmap := TBitmap.Create;
          try
            Bitmap.Assign(Pokemon_Pictures.PNGButton1.ImageNormal.Canvas);
            Pokemon_Pictures.Image1.Picture.Bitmap := Bitmap;
            if (Pokemon>=Bisasam) and (Pokemon<=Arceus) then
                begin
                y := Ord(Pokemon) div 25;
                x := Ord(Pokemon) Mod 25;
                Image.Canvas.CopyRect(rect(0, 0, 80, 80), BitMap.Canvas, rect(x*80,y*80, (x+1)*80,(y+1)* 80));
                end
              else
            if Pokemon = Arceus then Image.Canvas.CopyRect(rect(0, 0, 80, 80), BitMap.Canvas, rect(1520, 1080, 17*80, 17*80))
            else
                raise Exception.Create('Angefordertes Pokemon konnte nicht gefunden werden!');
        finally
          Bitmap.Free;
        end;
    finally
      Pokemon_Pictures.Free;
    end;
end;
Nun bekomme ich immer die Fehlermeldung, dass die Ressource nicht gefunden werden kann. In der Ressourcendatei steht:

Pokedex PNG "Pokedex2.png"

Wo liegt hier wieder der Fehler, und wie kann ich die PNG- Grafik in einen Bitmap konvertieren?

DeddyH 13. Nov 2011 14:05

AW: PNGs oder Dateien allgemein in EXE einbinden und auslesen
 
Hast Du die *.rc auch kompiliert und die daraus resultierende *.res in Dein Programm eingebunden? Ansonsten wäre es vielleicht einfacher, einfach eine PNGImagelist zu nehmen, Deine Datei dort einzufügen und dann darauf zuzugreifen.

entwickler 13. Nov 2011 14:17

AW: PNGs oder Dateien allgemein in EXE einbinden und auslesen
 
Ja. Folgendes habe ich in die *.dpr unter der schon existierenden Compileranweisung hinzugefügt:

Delphi-Quellcode:
{$R Pokedex.RES}
oder muss das in die Unit?

DeddyH 13. Nov 2011 14:25

AW: PNGs oder Dateien allgemein in EXE einbinden und auslesen
 
Du kannst es auch in die Unit packen, aber das sollte keine Rolle spielen. Vielleicht hängst Du die *.res einmal als ZIP hier an, dann kann man mal nachsehen, woran es liegen könnte.

entwickler 13. Nov 2011 14:41

AW: PNGs oder Dateien allgemein in EXE einbinden und auslesen
 
Liste der Anhänge anzeigen (Anzahl: 3)
die *.res oder die *.rc?

Egal, ich hänge gleich alles an :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 Uhr.
Seite 2 von 5     12 34     Letzte »    

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