Hallo zusammen! Ihr seht mich wiedermal ratlos.
Ich wollte mir nur auf die schnelle ein kleines Prog schreiben, das alle meine Icons Files in Bitmaps umwandelt und dabei auch die Größe verändert. Ich hab dazu hier in der
DP den Code hier gefunden.
Delphi-Quellcode:
function IconToBitmap(Icon: TIcon; NewHeight, NewWidth : Integer): TBitmap;
begin
Result := TBitmap.Create;
try
Result.Width := NewWidth;
Result.Height := NewHeight;
Result.Canvas.StretchDraw(Rect(0,0,NewWidth,NewHeight),Icon);
except
.
.
.
Der Original Code verwendet allerdings "Draw" und nicht StretchDraw. Ich hab ihn nur etwas angepasst, damit auch die neuen Maße berücksichtigt werden.
Jetzt zu meinem Problem: Das ganze funktioniert zwar, aber leider nur
teilweise. Das Bitmap wird erstellt, aber das Icon wird nicht verkleinert, sondern nur der Bereich außen drum. Das heißt, der Rest der nicht in den angegebenen Bereich passt, wird einfach abgeschnitten.
In der
OH steht nur:
Zitat:
Mit StretchDraw können Sie eine Grafik genau in ein angegebenes Reckteck einpassen. StretchDraw ruft die Methode Draw der Grafik auf. Auf welche Weise die Grafik in das Rechteck eingepasst wird, hängt vom jeweiligen Grafikobjekt ab. Unter Umständen ändern sich dabei der Vergrößerungsfaktor und/oder das Seitenverhältnis.
Kann mir da vielleicht wer weiterhelfen? Vergrößert
StretchDraw etwa nur?
Danke, man liest sich, Stanlay
Noch zur Ergänzung: Wenn ich das ganze größer mache, als das Original Icon, ist in dem Bitmap einfach nur eine weiße Fläche und das Original Icon in seiner normalen Größe zu sehen. Ich hoffe, man kann sich das vorstellen.