Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Imagearry wird direkt ausgegeben (https://www.delphipraxis.net/198830-imagearry-wird-direkt-ausgegeben.html)

Delphi.Narium 3. Dez 2018 17:52

AW: Imagearry wird direkt ausgegeben
 
Wenn img ein TImage ist, dann entspricht das einem PatBildAr[x].

Du kannst damit kaum ein img.Picture.Assign(PatBildAr[x]) ohne Fehlermeldung hinbekommen.

Delphi-Quellcode:
img.Assign(PatBildAr[x])
könnte gehen.
Delphi-Quellcode:
img.Picture.Assign(PatBildAr[x].Picture)
eventuell auch.

Aber unklar ist eigentlich, was Du genau vorhast.

Vermutlich sollen einmal x Bilder geladen werden und diese dann zu gegebener Zeit einzeln im img angezeigt werden.

Fraglich ist, ob dazu die übrigen (beim erstellen von PatBildAr[x]) gemachten Einstellungen erforderlich sind, oder hier nicht eher die von img erhalten bleiben sollen. Da bei allen Bildern die gleichen Einstellungen vergeben werden, spricht irgendwie nichts gegen das einmalige Setzen der entsprechenden Werte bei img, es ändert sich doch sowieso nix mehr.

Und damit stellt sich dann die Frage, ob es nicht direkt sinnvoller wäre das Array als Array of tjpegimage zu realisieren?

Dann kannst Du nachher im Quelltext Deine Zeile
Delphi-Quellcode:
img.Picture.Graphic := PatBildAr[x];
nutzen und sparst Dir das setzen der übrigen Attribute und die Frage: Warum werden die überhaupt angezeigt?

Im Array müssen die Bilder ja nicht in Komponenten liegen, die zur Anzeige dienen, aber unsichtbar gemacht werden, sondern dort reicht es vollkommen aus, wenn nur die Bilder vorliegen und diese einzeln bei Bedarf an eine Anzeigekomponente übergeben werden können.

Redeemer 3. Dez 2018 17:58

AW: Imagearry wird direkt ausgegeben
 
Zitat:

Zitat von DieDolly (Beitrag 1419998)
Vielleicht solltest du auch an Ressourcenschutzblöcke denken.

Was fürn Ding?

Janninger 3. Dez 2018 17:58

AW: Imagearry wird direkt ausgegeben
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1420008)
Wenn img ein TImage ist, dann entspricht das einem PatBildAr[x].

Du kannst damit kaum ein img.Picture.Assign(PatBildAr[x]) ohne Fehlermeldung hinbekommen.

Delphi-Quellcode:
img.Assign(PatBildAr[x])
könnte gehen.
Delphi-Quellcode:
img.Picture.Assign(PatBildAr[x].Picture)
eventuell auch.

Aber unklar ist eigentlich, was Du genau vorhast.

Vermutlich sollen einmal x Bilder geladen werden und diese dann zu gegebener Zeit einzeln im img angezeigt werden.

Fraglich ist, ob dazu die übrigen (beim erstellen von PatBildAr[x]) gemachten Einstellungen erforderlich sind, oder hier nicht eher die von img erhalten bleiben sollen. Da bei allen Bildern die gleichen Einstellungen vergeben werden, spricht irgendwie nichts gegen das einmalige Setzen der entsprechenden Werte bei img, es ändert sich doch sowieso nix mehr.

Und damit stellt sich dann die Frage, ob es nicht direkt sinnvoller wäre das Array als Array of tjpegimage zu realisieren?

Dann kannst Du nachher im Quelltext Deine Zeile
Delphi-Quellcode:
img.Picture.Graphic := PatBildAr[x];
nutzen und sparst Dir das setzen der übrigen Attribute und die Frage: Warum werden die überhaupt angezeigt?

Im Array müssen die Bilder ja nicht in Komponenten liegen, die zur Anzeige dienen, aber unsichtbar gemacht werden, sondern dort reicht es vollkommen aus, wenn nur die Bilder vorliegen und diese einzeln bei Bedarf an eine Anzeigekomponente übergeben werden können.

Genau so hatte ich mir das gedacht. So kann ich einfach im Arrayindex hin und herspringen ohne das Bild immer neu aus dem Blobstream zu laden.
Vielen Dank.

DieDolly 3. Dez 2018 19:06

AW: Imagearry wird direkt ausgegeben
 
Zitat:

Zitat von Redeemer (Beitrag 1420009)
Zitat:

Zitat von DieDolly (Beitrag 1419998)
Vielleicht solltest du auch an Ressourcenschutzblöcke denken.

Was fürn Ding?

Ist das jetzt ironisch gemeint?

Delphi.Narium 3. Dez 2018 19:19

AW: Imagearry wird direkt ausgegeben
 
Nein, warum?

Nicht jeder muss sich mit einer, für Dich selbstverständlichen, Vorgehensweise auskennen.

Außerdem: Im Eingangspost befinden sich nur zwei Fragmente, es ist also vollkommen offen, ob sie nicht eventuell doch schon vorhanden sind, und nur (neben weiterem Quelltext) zur Verdeutlichung des eigentlichen Problemes, weggelassen wurden.

DieDolly 3. Dez 2018 19:21

AW: Imagearry wird direkt ausgegeben
 
Zitat:

Nicht jeder muss sich mit einer, für Dich selbstverständlichen, Vorgehensweise auskennen.
Das ist nicht für mich selbstverständlich. Das sollte aber für jeden selbstverständlich sein. Ist ja nicht so, dass es grundlegend zur Delphilanguage gehört :roll:

KodeZwerg 3. Dez 2018 19:23

AW: Imagearry wird direkt ausgegeben
 
Kann man nicht gleich eine TImageList nehmen, bietet sich die nicht dafür an?

Janninger 3. Dez 2018 19:42

AW: Imagearry wird direkt ausgegeben
 
Meines Wissens nach funktionieren jpegs nicht mit der TImageList.

DieDolly 3. Dez 2018 20:20

AW: Imagearry wird direkt ausgegeben
 
Kannst du die jpegs nicht in PNG umwandeln oder liegt das nicht in deiner Macht (weil extern oder so).

KodeZwerg 3. Dez 2018 20:26

AW: Imagearry wird direkt ausgegeben
 
Zitat:

Zitat von Janninger (Beitrag 1420023)
Meines Wissens nach funktionieren jpegs nicht mit der TImageList.

Binde Unit JPEG ein und es sollte auch dieses Format unterstützt werden soweit ich weiß.


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

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