Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden? (https://www.delphipraxis.net/187152-mobile-wie-koennen-dem-imageviewer1-verschiedene-jpgs-zugewiesen-werden.html)

Sel2012 2. Nov 2015 08:11

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?
 
[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:
Delphi-Quellcode:
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).

mm1256 2. Nov 2015 13:18

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

Zitat von Sel2012 (Beitrag 1320314)
Bleibt mein Problem, wie ich aus jpg ein Bitmap mache (unter FireMonkeyMobile).

Und was findet Tante Google dazu: "delphi jpg in bitmap"

borstenei 2. Nov 2015 13:39

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?
 
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 :-D

Sir Rufo 2. Nov 2015 13:42

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

Zitat von borstenei (Beitrag 1320339)
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 :-D

Kinderspiel, du verwendest ja auch - korrekterweise - die konkrete/absolute Pfadangabe ;)

borstenei 2. Nov 2015 13:48

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?
 
Ich werwende auch eine ini in der ich die Einstellungen für die App speichere den Pfad hole ich mir zu laden so:
Delphi-Quellcode:
  IniFileName := System.IOUtils.TPath.GetDocumentsPath +System.SysUtils.PathDelim + 'dcim.ini';
  IniFile := TMemIniFile.Create(IniFileName);
und so könnte er auch den Pfad zu seinen Bildern ermitteln..

Sel2012 2. Nov 2015 13:59

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

Zitat von mm1256 (Beitrag 1320336)
Zitat:

Zitat von Sel2012 (Beitrag 1320314)
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.

Olli73 2. Nov 2015 14:18

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?
 
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.

mm1256 2. Nov 2015 15:32

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

Zitat von Sel2012 (Beitrag 1320343)
Zitat:

Zitat von mm1256 (Beitrag 1320336)
Zitat:

Zitat von Sel2012 (Beitrag 1320314)
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.

Deine Frage war..."wie ich aus jpg ein Bitmap mache..." und dazu liefert Google mit den von mir geschilderten Suchbegriffen zwei Beispiele die du 1:1 verwenden kannst. Also was willst du noch mehr? Anstatt "konkrete Tipps" anzumahnen, solltest du vielleicht erst mal...(nein, ich verbeiße mir jetzt diesen Kommentar) :cyclops:

Sel2012 2. Nov 2015 16:24

AW: Mobile: Wie können dem ImageViewer1 verschiedene .jpgs zugewiesen werden?
 
[QUOTE=mm1256;1320354][QUOTE=Sel2012;1320343][QUOTE=mm1256;1320336]
Zitat:

Zitat von Sel2012 (Beitrag 1320314)
Aber konkrete Tipps wären nett.

Ich habe keine konkrete Hilfe "angemahnt", sondern wollte deutlich machen, wo der Schuh drückt. Einen Experten mag ja mein Problemchen langweilen - ich schildere lediglich, wo es bei MIR klemmt. Niemand muss seine kostbare Zeit mit mir verschwenden. Wenn aber, dann lieber so, dass ich mit meinem Erfahrungsstand auch anknüpfen kann.
Ich hatte sehr wohl auf besagten Seiten gegoogelt. Für Delphi mögen die Lösungen ja funktionieren, aber z.B. TPicture" oder - wie schon erwähnt - "TJPEGImage" tauchen immer in den Artikeln auf und sind für mich nicht umzusetzen.
Wäre es denn so schlimm oder würde es meinen Ehrgeiz mindern müssen, wenn statt eines weitläufigen Tipps ein konkreter Link genannt würde?
Bei dere Fülle der Quellen kann man schon mal was übersehen :pale:. Aber trotzdem: danke.

Sel2012 2. Nov 2015 16:33

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

Zitat von borstenei (Beitrag 1320339)
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 :-D

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
Delphi-Quellcode:
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?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:51 Uhr.
Seite 2 von 3     12 3      

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