AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Nicht bekannte Bilddatei in Timage laden

Ein Thema von Sunec · begonnen am 9. Jan 2014 · letzter Beitrag vom 10. Jan 2014
Antwort Antwort
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#1

Nicht bekannte Bilddatei in Timage laden

  Alt 9. Jan 2014, 21:09
Delphi-Version: 5
Hallo zusammen!

Ich arbeite momentan mit Firemonkey.

Es geht um folgendes:

Ich möchte eine Bilddatei (JPEG Format) in ein TImage laden. Die Bilddatei hat jedoch nicht die Dateiendung .jpg sondern .thumb.

Eine Ändern der Dateiendung möchte ich möglichst vermeiden. Leider ist dies der einzig bisher mir bekannte Weg.

Gibt es eine Möglichkeit besagte .thumb Datei als .jpg zu interpretieren und zu laden?

Nachdem ich mehrere Stunden leider erfolglos im Internet gesucht habe, fiel der Entschluss diesen Post zu verfassen.

Meine momentange Lösung:

Delphi-Quellcode:
procedure Tfm_main.Button2Click(Sender: TObject);
var
  oldFile, newFile : string;
begin
  oldFile := 'D:\a.thumb';
  newFile := ChangeFileExt(oldFile, '.jpg');
  RenameFile(oldFile, newFile);
  ImageControl1.Bitmap.LoadFromFile(newFile);
  RenameFile(newFile, oldFile);
end;

Für jegliche Hilfe bin ich dankbar!

Einen schönen Abend!
- Sunec
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Nicht bekannte Bilddatei in Timage laden

  Alt 9. Jan 2014, 21:29
Was möchtest du denn damit erreichen?

Hast du irgendwo ein Bild liegen und möchtest aber nur den zugehörige Thumbnail anzeigen oder geht es tatsächlich ausschließlich um den Thumbnail?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#3

AW: Nicht bekannte Bilddatei in Timage laden

  Alt 10. Jan 2014, 00:47
Hallo,

Zitat:
Ich arbeite momentan mit Firemonkey [...] Ich möchte eine Bilddatei (JPEG Format) in ein TImage laden. Die Bilddatei hat jedoch nicht die Dateiendung .jpg sondern .thumb.
vermute mal, schlechte Karten, wenn keine Standarddateierweiterung.

Zitat:
Eine Ändern der Dateiendung möchte ich möglichst vermeiden. Leider ist dies der einzig bisher mir bekannte Weg.
Vielleicht bleibst Du besser dabei.

Zitat:
Gibt es eine Möglichkeit besagte .thumb Datei als .jpg zu interpretieren und zu laden?
Ja gäbe es schon. Allerdings ist die Variante nicht wirklich schön: Kopiere die FMX.Canvas.D2D.pas in Dein Projektverzeichnis und ergänze dort den Code wie folgt:
Delphi-Quellcode:
initialization
  // Die Zeile am Ende einfügen
  TBitmapCodecManager.RegisterBitmapCodecClass ('.thumb', 'Irgendein Text zu .thumb', False, TBitmapCodecWIC);
Dann könntest Du Deine Routine so abändern:
Delphi-Quellcode:
procedure Tfm_main.Button2Click(Sender: TObject);
begin
  ImageControl1.Bitmap.LoadFromFile ('D:\a.thumb')
end;
Doof nur, dass man dazu die FMX.Canvas.D2D.pas ändern muss. Ich habe bis jetzt keinen Weg gefunden dies zu umgehen (oder bin ich nur zu blöd die geniale Struktur dahinter zu erkennen). Ein:
Delphi-Quellcode:
procedure Tfm_main.Button2Click(Sender: TObject);
begin
  TBitmapCodecManager.RegisterBitmapCodecClass ('.thumb', 'Irgendein Text zu .thumb', False, ...);
  ImageControl1.Bitmap.LoadFromFile ('D:\a.thumb')
end;
funktioniert leider nicht, denn die Deklaration von TBitmapCodecWIC haben die Schwachb...... bei Emba leider in den Implementationsteil der Unit gepackt.

Aber vielleicht hat ja noch ein Kollege eine Idee.


Gruß

BTW: Herzlich Willkommen in der DP
Volker Zeller

Geändert von Volker Z. (10. Jan 2014 um 00:54 Uhr)
  Mit Zitat antworten Zitat
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#4

AW: Nicht bekannte Bilddatei in Timage laden

  Alt 10. Jan 2014, 06:17
Guten Morgen!

Hast du irgendwo ein Bild liegen und möchtest aber nur den zugehörige Thumbnail anzeigen oder geht es tatsächlich ausschließlich um den Thumbnail?
Es geht ausschließlich um das Thumbnail. Eine Bilddatei ist nicht vorhanden.



@Volker Z.

Vielen Dank für deine ausführliche Erläuterung, ich weiß dies zu schätzen.

Ich werde auf der kopierten FMX.Canvas.D2D.pas wechseln. Auch wenn dies wohl nicht die Optimallösung ist, so ziehe ich sie der Änderung der Dateiendung vor.


BTW: Herzlich Willkommen in der DP
Dankeschön!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Nicht bekannte Bilddatei in Timage laden

  Alt 10. Jan 2014, 07:55
Oder man macht es sich einfacher mit
Delphi-Quellcode:
procedure Tfm_main.Button2Click(Sender: TObject);
var
  LFileName : string;
  LStream : TStream;
begin
  LFileName := 'D:\a.thumb';
  LStream := TFileStream.Create( LFileName, fmOpenRead );
  try
    ImageControl1.Bitmap.LoadFromStream( LStream );
  finally
    LStream.Free;
  end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Sunec

Registriert seit: 31. Aug 2013
88 Beiträge
 
Delphi XE8 Architect
 
#6

AW: Nicht bekannte Bilddatei in Timage laden

  Alt 10. Jan 2014, 11:32
Oder man macht es sich einfacher mit
Danke auch für diesen Lösungsweg!
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:22 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