[gelöst] tIcon, tBitmap ins tImage

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
exc-jdbi
Beiträge: 64
Registriert: So 3. Aug 2014, 03:37

[gelöst] tIcon, tBitmap ins tImage

Beitrag von exc-jdbi »

Guten Tag Community

Ich besitze eine Image1:tImage auf der Form, in das ich Bilder ausgeben möchte.

Bis jetzt habe ich es immerhin geschafft ein Icon einzusetzen, jedoch wie kann ich das Icon in der Image1 zentrieren. Das Icon besitzt ein Format von 64x64. Ich würde es aber lieber auf 32x32 "strechen".

Ist es sinnvoll, das Icon zuerst in ein tBitmap zu verwandeln? Zum späteren Zeitpunkt kommen auch noch Jpgs oder png Bilder in das gleiche Image1 rein.

Code: Alles auswählen

 
ms:=tMemoryStream.Create;
ms.LoadFromFile('PathNameIcon') ;
 
icn := tIcon.Create;
icn.LoadFromStream(ms); 
 
{ Wie "strech" + zentriere ich das Icon }
Image1.Picture.Icon:=icn;
 
Freundliche Grüsse

exc-jdbi
Zuletzt geändert von exc-jdbi am Mo 8. Sep 2014, 18:53, insgesamt 1-mal geändert.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: tIcon, tBitmap ins tImage

Beitrag von m.fuchs »

Hm, ich würde einfach MaxWidth und MaxHeight vom TImage auf 32 setzen und Stretch auf True. Um die Zentrierung hinzubekommen, kannst du das TImage ja innerhalb eines Panels zentriert anordnen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

exc-jdbi
Beiträge: 64
Registriert: So 3. Aug 2014, 03:37

Re: tIcon, tBitmap ins tImage

Beitrag von exc-jdbi »

Danke m.fuchs.

Das Problem ist, das Image1 hat das Format 250x500, und das Icon soll quasi als BlindIcon bzw. als IconLabel drin sein, wenn kein BIld geladen wird. Es werden später Bilder im genannten Format eingefügt.

Daher meine Frage.

Freundliche Grüsse

exc-jdbi

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: tIcon, tBitmap ins tImage

Beitrag von m.fuchs »

Ah ok, dann schau dir mal diese Methode an: http://lazarus-ccr.sourceforge.net/docs ... hdraw.html

Oder alternativ: pack doch noch ein auf 32x32 skaliertes Bild in dein Projekt.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

exc-jdbi
Beiträge: 64
Registriert: So 3. Aug 2014, 03:37

Re: tIcon, tBitmap ins tImage

Beitrag von exc-jdbi »

Sieht gut aus, werde ich gleich versuchen danke.

Freundliche Grüsse

exc-jdi

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: tIcon, tBitmap ins tImage

Beitrag von m.fuchs »

Aus Neugier habe ich das gerade mal ausprobiert, ein Beispiel kannst du dir hier herunterladen: http://www.michael-fuchs.net/newsgroups ... chdraw.zip

Das sieht dann so aus:
Bild
Ist also nicht so schön. Ich empfehle daher eher die Variante, dass du ein klein-skaliertes Bild mit in dein Programm einbindest.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

exc-jdbi
Beiträge: 64
Registriert: So 3. Aug 2014, 03:37

Re: tIcon, tBitmap ins tImage

Beitrag von exc-jdbi »

Ich finde das sieht doch richtig gut aus. Ich werde es zwar ein bisschen anders machen, aber der Ansatz ist genau das was ich suche.

Danke nochmals m.fuchs.

Freundliche Grüsse

exc-jdbi

Antworten