AGB  ·  Datenschutz  ·  Impressum  







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

Timage Icon Grösse anpassen.

Ein Thema von codenoob · begonnen am 25. Jan 2016 · letzter Beitrag vom 26. Jan 2016
Antwort Antwort
codenoob
(Gast)

n/a Beiträge
 
#1

Timage Icon Grösse anpassen.

  Alt 25. Jan 2016, 23:35
Hi Delphianers.

Ich habe in meiner Form ein Paar Timages wo vom Benutzer geladene Icons angezeigt werden.
Die Timage hat eine Feste Grösse von 32x32 Pixel.
Wenn jetzt aber jemand eine Icon ladet die grösser ist als 32x32 wird nicht die ganze angezeit.
Hab schon gelesen das man die Stretchen kann und auch schon einen Code gefunden.
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var i: integer;
icon: Ticon;
TheBitmap, bit2: Tbitmap;
begin
icon := Ticon.Create;
icon.LoadFromFile('myIcon.ico');

Thebitmap := Tbitmap.Create;
Thebitmap.Width := icon.Width;
Thebitmap.Height := Icon.Height;
thebitmap.Canvas.Draw(0,0,icon);

bit2 := tbitmap.Create;
bit2.Width := 32;
bit2.Height := 32;

bit2.Canvas.StretchDraw(Rect(0,0,32,32), Thebitmap);
thebitmap.Free;
bit2.SaveToFile('temp.bmp');
bit2.Free;

image1.Picture.LoadFromFile('temp.bmp');
was jetzt allerdings ist das die geladene .bmp Datei die aus dem Icoin erstellt wurde jetzt nicht mehr transparent ist und einen weissen Hintergrund bekommen hat,
der natürlich jetzt auch in der Timage dann sichtbar ist kann man den Entfernen oder das ganze anders lösen ohne die icon in eine bmp umzuwandeln?

Grüsse Tom
  Mit Zitat antworten Zitat
Cubysoft

Registriert seit: 5. Sep 2014
Ort: Ludwigshafen
76 Beiträge
 
Delphi XE8 Professional
 
#2

AW: Timage Icon Grösse anpassen.

  Alt 26. Jan 2016, 01:08
Kannst du nicht einfach die Eigenschaft "Stretch" von der TImage Komponente auf "true" setzen?
Tobias
  Mit Zitat antworten Zitat
codenoob
(Gast)

n/a Beiträge
 
#3

AW: Timage Icon Grösse anpassen.

  Alt 26. Jan 2016, 01:21
Nein das funktioniert leider nicht.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Timage Icon Grösse anpassen.

  Alt 26. Jan 2016, 04:15
Kann nicht sein denn gerade eben habe ich folgenden Code mit XE7 erfolgreich getestet:
Delphi-Quellcode:
Procedure TFormMain.Button1Click(Sender: TObject);
Var
  MyIcon : TIcon;
begin
  MyIcon := TIcon.Create;
  Try
    MyIcon.LoadFromFile('D:\Icons\TestIcon.ico');
    Image1.Picture.Bitmap.Assign(MyIcon);
    Image2.Picture.Bitmap.Assign(MyIcon);
    Image3.Picture.Bitmap.Assign(MyIcon);
  Finally
    MyIcon.Free;
  End;
end;
Das Icon hat die Größe 32x32, das Image1 hat 50x50, Image2 32x32 und Image3 mißt 25x25, Stretch steht bei allen ebenso auf True wie Proportional, und das Icon wird bei allen komplett angezeigt.

Kann natürlich schon sein, daß dein Code nicht funktioniert. Übrigens solltest du als Variablen-Bezeichner nicht einen Namen wählen, der bereits in deiner Anwendung existiert. TForm hat nämlich ein Property namens Icon, und wenn du jetzt ein TIcon mit demselben Namen deklarierst, könntest du unerwünschte Konflikte auslösen. Deshalb heißt mein TIcon auch MyIcon
Miniaturansicht angehängter Grafiken
icon2bitmap.jpg  

Geändert von Perlsau (26. Jan 2016 um 04:19 Uhr)
  Mit Zitat antworten Zitat
codenoob
(Gast)

n/a Beiträge
 
#5

AW: Timage Icon Grösse anpassen.

  Alt 26. Jan 2016, 22:40
Danke Perlsau hab's nochmals getestet und jetzt geht es hatte Proportional auf False

L.g Tom
  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 15:26 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