ich brauch dringend ein kleines Tool. Deshalb habe ich schnell was programmiert und nun kann man es benutzen. Es zeichnet mir Icons aus Programmen via Canvas auf die Form (Canvas reicht in dem Fall aus) aber die Icons sehen sehr pixelig aus. Ich habe bisher diesen Code:
Code: Alles auswählen
procedure GetIcon(filename : String; IconIndex: Integer; var Result : TBitmap);
var Ico : TIcon;
begin
Ico := TIcon.Create;
Ico.Handle := ExtractIcon(hInstance, PChar(Filename), IconIndex);
Result := TBitmap.Create;
with Result do
begin
Width := Ico.Width;
Height := Ico.Height;
DrawIconEx(Canvas.Handle, 0, 0, Ico.Handle, 0, 0, 0, 0, DI_NORMAL);
end;
Ico.Free;
end;
Code: Alles auswählen
function GetIcon(filename : String; IconIndex: Integer) : TBitmap;
var NumberOfIcons : Integer;
Ico : TIcon;
begin
NumberOfIcons := ExtractIcon(hInstance, PChar(Filename), UINT(-1));
Ico := TIcon.Create;
if (Ico <> nil) and (NumberOfIcons > -1) then
Ico.Handle := ExtractIcon(hInstance, PChar(Filename), IconIndex);
Result := TBitmap.Create;
with Result do
begin
Width := Ico.Width;
Height := Ico.Height;
Canvas.Draw(0, 0, Ico);
end;
Ico.Free;
end;
Nun gibt es zwei Möglichkeiten:
1. Mal angenommen ihr könntet mir helfen es mit dem obigen hinzubekommen. Wie löst man das dann unter Linux ?
2. Ihr könnt mir beim unteren helfen. Geht das auch einfach so mit Linux ? Denn Linux hat ja glaube ich ein komplett anderes Iconsystem (Icons in Verknüpfungen war es glaube ich).