AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?
Thema durchsuchen
Ansicht
Themen-Optionen

Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?

Ein Thema von Sel2012 · begonnen am 1. Nov 2015 · letzter Beitrag vom 3. Nov 2015
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?

  Alt 1. Nov 2015, 19:09
".loadfromfile" funktioniert im Delphi-Beispiel nur in Kombination mit "OpenDialog": Image1.Bitmap.LoadFromFile(OpenDialog1.FileName);
Und warum wohl? Hast du dir im Debugger schon einmal angeschaut, was der OpenDialog als Dateinamen zurückliefert?

Kleiner Wink mit dem Zaunpfahl:

Wenn ich dir sage: "Hol mir mal das Auto!" was wäre deine spontane Reaktion darauf (abgesehen von "Hols dir doch selber!")?

Etwa: "Welches Auto und wo steht das Auto denn?"

Genau diese Problem hat TBitmap.LoadFromFile auch, wenn du dem einfach nur 'Biene.jpg' gibst.
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
Sel2012

Registriert seit: 6. Jun 2015
Ort: 31535
103 Beiträge
 
Delphi XE5 Professional
 
#2

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?

  Alt 1. Nov 2015, 20:08
".loadfromfile" funktioniert im Delphi-Beispiel nur in Kombination mit "OpenDialog": Image1.Bitmap.LoadFromFile(OpenDialog1.FileName);
Und warum wohl? Hast du dir im Debugger schon einmal angeschaut, was der OpenDialog als Dateinamen zurückliefert?

Kleiner Wink mit dem Zaunpfahl:

Wenn ich dir sage: "Hol mir mal das Auto!" was wäre deine spontane Reaktion darauf (abgesehen von "Hols dir doch selber!")?

Etwa: "Welches Auto und wo steht das Auto denn?"

Genau diese Problem hat TBitmap.LoadFromFile auch, wenn du dem einfach nur 'Biene.jpg' gibst.
Danke für die Antwort. Die Biene liegt im Hauptverzeichnis, also im selben Ordner. Im Mobile kann ich ein OpenDialog gar nicht
in der Form anlegen, jedenfalls optisch nicht erkennbar; ganz anders im FireMonkey
  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
 
#3

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?

  Alt 1. Nov 2015, 21:43
Delphi-Quellcode:
ImageViewer1.Bitmap.LoadFromFile(
  TPath.Combine(
    TPath.GetHomePath, // oder welcher Pfad auch immer
    'Biene.jpg' ) );
Ja, wenn man nur irgendwie so eine Form anlegen könnte mit so einen OpenDialog drauf, dann könnte man ja sehen, was da so im Prinzip herauskommt (eine komplette Pfadangabe) ... aber das muss wohl erst noch erfunden werden
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)

Geändert von Sir Rufo ( 1. Nov 2015 um 21:49 Uhr)
  Mit Zitat antworten Zitat
Sel2012

Registriert seit: 6. Jun 2015
Ort: 31535
103 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?

  Alt 2. Nov 2015, 08:11
[QUOTE=Sir Rufo;1320306]
Delphi-Quellcode:
ImageViewer1.Bitmap.LoadFromFile(
  TPath.Combine(
    TPath.GetHomePath, // oder welcher Pfad auch immer
    'Biene.jpg' ) );
Hallo Sir Rufo,
danke für die nette Idee. Mein PC/Compiler akzeptiert nur folgende Zeile:
ImageViewer1.Bitmap.LoadFromFile(System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetHomePath,'boule.jpg' ) );
Wobei ich hoffte, den gewünschten Bildwechsel zu sehen. Ich hatte die jpgs auch in die Bereitstellung geladen.
Aber: Pustekuchen. Es bleibt bei der Anzeige des im Objektinspektor / Bitmap-Editor erzeugten "Bildes".
Irgendwie erscheint es mir auch logisch. In VCL wurden die jpgs im "Klartext" mit der exe übertragen. Das Prinzip gilt für die Apps nicht, sondern jedes Image bekommt individuell "sein" jpg über den Bitmap-Editor eingebaut. Dahinter scheint ein Umwandlungsprogramm zu stecken. Deshalb kann LoadFromFile kein jpg zum ImageViewer laden. An das neue Bitmap komme ich aber auch nicht isoliert heran, sodass ich auch keine austauschen kann.
Bleibt mein Problem, wie ich aus jpg ein Bitmap mache (unter FireMonkeyMobile).

Geändert von Sel2012 ( 2. Nov 2015 um 09:01 Uhr)
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?

  Alt 2. Nov 2015, 13:18
Bleibt mein Problem, wie ich aus jpg ein Bitmap mache (unter FireMonkeyMobile).
Und was findet Tante Google dazu: "delphi jpg in bitmap"
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
borstenei

Registriert seit: 11. Nov 2011
121 Beiträge
 
#6

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?

  Alt 2. Nov 2015, 13:39
Ich verstehe nicht das Problem,
in meiner AndroidApp lade ich zum Start alle meine Bildernamen aus dem FotoOrdner in eine ListBox und beim Klick in die ListBox
lasse ich mir das Bild in einem anderen Tab als Vorschau anzeigen.Dazu reichen 2 Zeilen.

Delphi-Quellcode:
  Image1.Bitmap.LoadFromFile('/storage/emulated/0/DCIM/camera/' + ListBox1.Selected.Text);
  TabControl1.TabIndex := 1;
...und meine KameraBilder sind Jpg's
  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
 
#7

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?

  Alt 2. Nov 2015, 13:42
Ich verstehe nicht das Problem,
in meiner AndroidApp lade ich zum Start alle meine Bildernamen aus dem FotoOrdner in eine ListBox und beim Klick in die ListBox
lasse ich mir das Bild in einem anderen Tab als Vorschau anzeigen.Dazu reichen 2 Zeilen.

Delphi-Quellcode:
  Image1.Bitmap.LoadFromFile('/storage/emulated/0/DCIM/camera/' + ListBox1.Selected.Text);
  TabControl1.TabIndex := 1;
...und meine KameraBilder sind Jpg's
Kinderspiel, du verwendest ja auch - korrekterweise - die konkrete/absolute Pfadangabe
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
Sel2012

Registriert seit: 6. Jun 2015
Ort: 31535
103 Beiträge
 
Delphi XE5 Professional
 
#8

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?

  Alt 2. Nov 2015, 16:33
Ich verstehe nicht das Problem,
in meiner AndroidApp lade ich zum Start alle meine Bildernamen aus dem FotoOrdner in eine ListBox und beim Klick in die ListBox
lasse ich mir das Bild in einem anderen Tab als Vorschau anzeigen.Dazu reichen 2 Zeilen.

Delphi-Quellcode:
  Image1.Bitmap.LoadFromFile('/storage/emulated/0/DCIM/camera/' + ListBox1.Selected.Text);
  TabControl1.TabIndex := 1;
...und meine KameraBilder sind Jpg's
Und weil es jpgs sind, scheint es doch ein Problem zu sein - jedenfalls bei mir. Der aufmerksame Leser hat schon festgestellt, das Sir Rufos Vorschlag mit jpgs nicht klappte.
Auch Olli73 schlägt Image1.Bitmap.LoadFromFile('MeineJpegDateiInklusiveVollständigemPfad.jpg'); vor.
Das gibt mir doch zu denken. Deshalb hier meine (nicht funktionierende) Version.
Delphi-Quellcode:
unit Unit3;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.ListBox,
  FMX.Layouts, FMX.StdCtrls, FMX.Objects, FMX.TabControl;

type
  TForm3 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    ListBox1: TListBox;
    ListBoxItem1: TListBoxItem;
    ListBoxItem2: TListBoxItem;
    ListBoxItem3: TListBoxItem;
    ListBoxItem4: TListBoxItem;
    TabControl1: TTabControl;
    procedure Button1Click(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;

implementation

{$R *.fmx}

procedure TForm3.Button1Click(Sender: TObject);
begin
    Image1.Bitmap:=TBitmap.create;
  Image1.Bitmap.LoadFromFile('C:\Users\u\Pictures\Goethe\' + ListBox1.Selected.Text);
  TabControl1.TabIndex := 1;
end;

end.
Findet jemand den Fehler?
  Mit Zitat antworten Zitat
Sel2012

Registriert seit: 6. Jun 2015
Ort: 31535
103 Beiträge
 
Delphi XE5 Professional
 
#9

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?

  Alt 2. Nov 2015, 13:59
Bleibt mein Problem, wie ich aus jpg ein Bitmap mache (unter FireMonkeyMobile).
Und was findet Tante Google dazu: "delphi jpg in bitmap"
Leider nichts - soweit meine sehr umfangreiche Recherche das beurteilen lässt. Delphi sagt nichts über die mögliche Anwendung in FMX aus. 'TJPEGImage' z.B. als Programmiertipp ist wohl untauglich.
Nicht hinter jeder Frage steht ein fauler und bequemer Anfänger, der sich mit fremden Federn schmücken will. Aber konkrete Tipps wären nett.
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
803 Beiträge
 
#10

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?

  Alt 2. Nov 2015, 14:18
Du kannst mit
Code:
Image1.Bitmap.LoadFromFile('MeineJpegDateiInklusiveVollständigemPfad.jpg');
die Datei laden. Und ja, Delphi erkennt, dass es eine JPEG-Datei ist und wandelt sie automatisch in die benötigte Bitmap um.

Du musst natürlich sicherstellen, dass "MeineJpegDateiInklusiveVollständigemPfad.jpg" auf dem Gerät vorhanden ist. Das kannst du mit
Code:
FileExists('MeineJpegDateiInklusiveVollständigemPfad.jpg') ;
vorher prüfen.
  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 04:09 Uhr.
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