AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi PNG-Bilder in Exe einkompilieren?
Thema durchsuchen
Ansicht
Themen-Optionen

PNG-Bilder in Exe einkompilieren?

Ein Thema von Light · begonnen am 26. Nov 2006 · letzter Beitrag vom 29. Dez 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#1

PNG-Bilder in Exe einkompilieren?

  Alt 26. Nov 2006, 13:03
Hallo Ihr Alle,

weiß jemand wie man am Besten PNG Bilder in eine Exe Integrieren könnte?
Das Layout meines Programms baut auf PNG auf -
und da man diese leider nicht zur Designzeit in die Images rein laden kann
muss ich das zur Laufzeit machen.
Momentan hab ich einfach alle Grafiken im Programmverzeichnis liegen.
Nur das ist halt sehr unpraktisch wenn man das Programm weitergeben will,
weil dann die Gefahr besteht das Grafiken verloren gehen....
und dann könnte man das Programm nicht mehr bedienen

In der Suche habe ich nur Möglichkeiten für BMP gefunden...
Ich hoffe ihr könnt mir helfen!
oder mir sagen nach was ich suchen soll!



Leuchtende Grüße

Stefan

alias Light
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: PNG-Bilder in Exe einkompilieren?

  Alt 26. Nov 2006, 13:04
Du kannst sie ganz einfach wie jede andere Ressource einbinden. Als typ kannst du BINRES etc. nutzen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: PNG-Bilder in Exe einkompilieren?

  Alt 26. Nov 2006, 13:08
Hm
wie kann ich das am Geschicktesten machen?
ich benutze Turbo Delphi Explorer
brauche ich da den alten Bildeditor?
Ich hab noch nicht mit Ressource bewusst gearbeitet...
Nach was muss ich da suchen?

Leuchtende Grüße

Stefan
Stefan
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#4

Re: PNG-Bilder in Exe einkompilieren?

  Alt 26. Nov 2006, 13:10
Genanntes Stichwort in die DP-Suche eingeben.

http://www.delphipraxis.net/internal...ct.php?t=71460
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: PNG-Bilder in Exe einkompilieren?

  Alt 26. Nov 2006, 20:50
Hallo Ihr lieben,

ich hab jetzt gesucht und gesucht und auch ganz viel gefunden,
nur irgendwie geht das bei mir nicht richtig!
Könnte bitte jemand mir das noch mal mit Beispiel schritt für schritt erklären?
Bitte!

Also noch mal um meine Voraussetzung (die ich habe ) zu erläutern:
Turbo Delphi Explorer
PNG Grafiken
diese Sollen nachher im Programm Geladen werden
sie sind für das Design/ Layout zuständig.

Bitte helft mir!

Leuchtende Grüße

Stefan
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: PNG-Bilder in Exe einkompilieren?

  Alt 26. Nov 2006, 20:52
Was geht denn bei dir nicht?
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: PNG-Bilder in Exe einkompilieren?

  Alt 26. Nov 2006, 23:04
Mein erstes Problem ist das ich nicht genau weiß ob jetzt die Res Datei in mein Projekt eingebunden ist oder nicht.
Die Layout1.rc Datei ist Eingefügt.
Er erzeugt auch die .res Datei.
Nur wenn ich dann das Versuche
LayoutStream := TResourceStream.Create(HInstance,'Layout1','BINRES'); gibt er mir immer
Diese Fehlermeldung:
Delphi-Quellcode:
---------------------------------------
Ressource Layout1 wurde nicht gefunden.

                [ OK ]
---------------------------------------
wenn ich dann aber mit
{$R Layout1.res} Versuche die .res explizit einzubinden dann bekomme ich diesen Fehler und er kompiliert nicht:
[Pascal Fehler] E2161 Duplicate resource: Type RC_DATA, ID EXITB; File F:\Delphi\Delphi_Turbo_2006\explorer_ersatz\V01_S_explor\Layout1.res resource kept; file F:\Delphi\Delphi_Turbo_2006\explorer_ersatz\V01_S_explor\Layout1.res resource discarded. Wenn es eine Andere Möglichkeit gibt die Bilder zu laden bin ich gerne bereit diese zu testen

Ich hoffe ihr könnt mir helfen.

Leuchtende Grüße

Stefan
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#8

Re: PNG-Bilder in Exe einkompilieren?

  Alt 27. Nov 2006, 00:45
1. Zeig doch mal bitte deine .rc - Datei.

2. Was falsch läuft steht doch da: "[Pascal Fehler] E2161 Duplicate resource: Type RC_DATA,"

Irgend wie hast Du es geschaft die Reource doppelt einzubinden.

3. Die Unit PngImage erwarted die Resource (also die PNG-Datei) in der der Section RC_DATA

Beispiel der .rc-Datei:
Delphi-Quellcode:
;ResName: Res-Typ: Filename:
MyPng RCDATA "c:\...\Test.png"
In Projekt:
Delphi-Quellcode:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas{Form1};

{$R *.res}
{$R 'PNGRes.res' 'PNGRes.rc'}

//...
Geht auch über Shift + F11 in der IDE

Delphi-Quellcode:
//...

implementation

{$R *.dfm}

//...

procedure SoUndSo...
var p:tpngobject;
begin
  p := tpngobject.Create;

  p.LoadFromResourceName(HInstance, 'MyPng');

  Image1.Assign(p);

  freeandnil(p);
end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: PNG-Bilder in Exe einkompilieren?

  Alt 27. Nov 2006, 23:34
Hallo Ihr,

@turboPASCAL: Ein ganz großes DANKE Schön!


Mein Problem wieso ich es geschafft habe die Res zweimal einzubinden war -
ich habe sie in der Unit versucht ein zweites mal einzubinden,
da ich nicht wusste das sie im Projekt als solche eingebunden wird


Es Funktioniert:
Ich habe Es jetzt so gelöst
Delphi-Quellcode:
...
procedure TFHaupt.GetSetPic(Name:String;XXImage: TImage);
var p:tpngobject;
begin
  p := tpngobject.Create;
  p.LoadFromResourceName(HInstance,PChar(Name));
  XXImage.Picture.Assign(p);
  freeandnil(p);
end;
...
So kann ich an Beliebiger Stelle in Meinem Programm ein Bild Laden!

So kann man das Ganze dann einfach Aufrufen:
GetSetPic('MainBG',IBackground); Meine .RC Datei sieht momentan noch So aus - wird sich wahrscheinlich noch ein bisschen füllen
Delphi-Quellcode:
MainBG RCDATA "f:\Delphi\Delphi_Turbo_2006\explorer_ersatz\V01_S_explor\Layout\1024x768.png"
PWBG RCDATA "f:\Delphi\Delphi_Turbo_2006\explorer_ersatz\V01_S_explor\Layout\PWD400.png"
RahmenB RCDATA "f:\Delphi\Delphi_Turbo_2006\explorer_ersatz\V01_S_explor\Layout\Rahmen_Button.png"
ExitB RCDATA "f:\Delphi\Delphi_Turbo_2006\explorer_ersatz\V01_S_explor\Layout\Exit.png"
OptionsB RCDATA "f:\Delphi\Delphi_Turbo_2006\explorer_ersatz\V01_S_explor\Layout\Options.png"
InfoB RCDATA "f:\Delphi\Delphi_Turbo_2006\explorer_ersatz\V01_S_explor\Layout\Info.png"
Fragt mich bitte nicht was daran jetzt so schwer war
Ich schätze es waren zu viele Sachen auf einmal die Falsch waren...

DANKE FÜR DIE HILFE EUCH ALLEN!

Leuchtende Grüße

Stefan

alias Light
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#10

Re: PNG-Bilder in Exe einkompilieren?

  Alt 29. Dez 2006, 19:00
Hallo,

ich muss dieses Thema nochmal aufwärmen:

ich hab versucht eine Bild-Datei als Resource ins programm mit einzubinden

aber ich erhalte nur die Meldung "Resource TestBar" nicht gefunden

Könnte sich jemand mal mein Test-Programm anschauen, was an dem falsch ist?
Angehängte Dateien
Dateityp: zip test_resource-datei_133.zip (211,4 KB, 14x aufgerufen)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:24 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