AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Programm starten mit JPG, im Programm als BMP verwenden ??
Thema durchsuchen
Ansicht
Themen-Optionen

Programm starten mit JPG, im Programm als BMP verwenden ??

Ein Thema von FLINKER_FINGER · begonnen am 19. Okt 2007 · letzter Beitrag vom 21. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
FLINKER_FINGER

Registriert seit: 29. Apr 2004
Ort: Berlin
131 Beiträge
 
#1

Programm starten mit JPG, im Programm als BMP verwenden ??

  Alt 19. Okt 2007, 18:11
hallo,

bin gerade dabei mit Canvas ein wenig zu experimentieren. Habe quasi eine sehr große Karte auf der ich herumlaufen kann. Dazu lade ich eine BPM (1000x600) in ein TImage. Jetzt lasse ich mit mit canvas.copy nur den kleinen Teil anzeigen den ich brauche. Dieser ist auch noch vergrößert und stellt den Teil der map dar, in dem ich mich gerade aufhalte.
Weil BMP s aber so groß sind wollte ich lieber das JPG-Format zum laden verwenden... wenn ich das mache kommt die Fehlermeldung das es nur mit BMP möglich ist sich einen Teil mit canvas.copy anzeigen zu lassen.
Kann man das irgendwie umgehen ??
Irgendwie das jpg laden und dann nach dem Programmstart in ein BMP umwandeln, damit man die Funktion weiterhin nutzen kann ??
  Mit Zitat antworten Zitat
Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Programm starten mit JPG, im Programm als BMP verwenden

  Alt 19. Okt 2007, 18:23
Delphi-Quellcode:
procedure LoadJPG(Buffer: TImage);
var jpeg: TJPEGImage;
    
begin
  jpeg := TJpegImage.Create;
  jpeg.LoadFromFile('bla.jpg');
  Buffer.Picture.Bitmap.Assign(jpeg);
  jpeg.Free;
end;
Glaub ich...
  Mit Zitat antworten Zitat
FLINKER_FINGER

Registriert seit: 29. Apr 2004
Ort: Berlin
131 Beiträge
 
#3

Re: Programm starten mit JPG, im Programm als BMP verwenden

  Alt 19. Okt 2007, 18:35
jau hat super geklappt =)

nun würde ich gerne noch einen schritt weiter gehen und das JPG-Bild im Quellcode haben. soll bedeuten, wenn ich jmd. die Exe schicke, möchte ich nicht immer noch das JPG-Bild mitsenden müssen. Geht das ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: Programm starten mit JPG, im Programm als BMP verwenden

  Alt 19. Okt 2007, 18:45
Pack das Bild in die Ressourcen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FLINKER_FINGER

Registriert seit: 29. Apr 2004
Ort: Berlin
131 Beiträge
 
#5

Re: Programm starten mit JPG, im Programm als BMP verwenden

  Alt 19. Okt 2007, 18:59
Wie gehtn das ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

Re: Programm starten mit JPG, im Programm als BMP verwenden

  Alt 19. Okt 2007, 19:05
Schau mal z.B. bei den Schweizern (statt BITMAP musst Du RC_DATA nehmen).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FLINKER_FINGER

Registriert seit: 29. Apr 2004
Ort: Berlin
131 Beiträge
 
#7

Re: Programm starten mit JPG, im Programm als BMP verwenden

  Alt 21. Okt 2007, 00:21
hmm irgendwie will er das nicht richtig laden.... er sagt immer das er die Ressource datei nicht finden kann. Könnte jmd. so freundlich sein und sagen was falsch ist, bekomme das einfach nicht hin.

Code:
var jpeg : TJPEGImage;
    stream:TResourceStream;
begin
  jpeg := TJpegImage.Create;
  try
    Stream := TResourceStream.Create(hinstance, 'myres.res', RT_RCDATA);
    try
    jpeg.LoadFromstream(stream);
    imgback.Picture.Bitmap.Assign(jpeg);
     finally
       Stream.Free;
     end;
     finally
       jpeg.Free;
     end;
Das mit dem erstellen der RES-Datei hat geklappt. Da steht jetzt das bild und das drin : 1 RCDATA "background_kl.jpg" Die datei trägt den Namen myres.res
er meckert aber bei der Zeile, das er die Ressourcedatei nicht finden kann:
Code:
Stream := TResourceStream.Create(hinstance, 'myres.res', RT_RCDATA);
was ist dort falsch ???
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

Re: Programm starten mit JPG, im Programm als BMP verwenden

  Alt 21. Okt 2007, 11:50
Du hast eine Grafik in der Ressource mit der ID 1. Also müssteStream := TResourceStream.CreateFromID(hinstance, 1, RT_RCDATA); da besser passen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FLINKER_FINGER

Registriert seit: 29. Apr 2004
Ort: Berlin
131 Beiträge
 
#9

Re: Programm starten mit JPG, im Programm als BMP verwenden

  Alt 21. Okt 2007, 12:47
wenn ich diese Zeile :
Stream := TResourceStream.Create(hinstance, 'myres.res', RT_RCDATA); durch diese ersetze:
Stream := TResourceStream.CreateFromID(hinstance, 1, RT_RCDATA); kommt eine Access violation...
Müsste ich nicht noch irgendwo sagen aus welcher RES-Datei er das einlesen soll ??
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#10

Re: Programm starten mit JPG, im Programm als BMP verwenden

  Alt 21. Okt 2007, 12:51
Nein, wenn Du die Zeile{$R Deine_Ressource.res} eingefügt hast, ist diese ja gegen Deine *.exe gelinkt (daher ja auch hInstance). Der Fehler muss woanders liegen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 12:44 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