Einzelnen Beitrag anzeigen

delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Image aus TImage als Icon in einer TImageList

  Alt 16. Mär 2006, 19:07
habe schon verschieden functionen die ich im Internet gefunden habe probiert.

Auch deinen Vorschlag...

Aber wie auch bei den Functionen die ich fand ist auch bei deinem Vorschalg
die gleiche Fehlermeldung!

Zitat:
Ungültige Bildgröße

ich fand 1
Delphi-Quellcode:
procedure bmp2ico(Image: TImage; FileName: TFilename);
var
  Bmp: TBitmap;
  Icon: TIcon;
  ImageList: TImageList;
begin
  Bmp := TBitmap.Create;
  Icon := TIcon.Create;
  try
    Bmp.Assign(Image.Picture.Bitmap);
    ImageList := TImageList.CreateSize(32, 32);
    try
      ImageList.AddMasked(Bmp, Bmp.TransparentColor);
      ImageList.GetIcon(0, Icon);
      Icon.SaveToFile(FileName);
    finally
      ImageList.Free;
    end;
  finally
    Bmp.Free;
    Icon.Free;
  end;
end;

ich fand 2
Delphi-Quellcode:
function BitmapToIcon_4(const Source: TBitmap): HICON;
var
  bmpMask: TBitmap;
  bmpTemp: TBitmap;
  pInfo: TIconInfo;

begin
  bmpMask := TBitmap.Create();
  bmpMask.Width := 16;
  bmpMask.Height := 16;
  bmpMask.Canvas.Brush.Color := clFuchsia;
  bmpMask.Canvas.FillRect(Rect(0, 0, bmpMask.Width, bmpMask.Height));

  bmpTemp := TBitmap.Create();
  bmpTemp.Assign(Source);

  with pInfo do begin
    fIcon := True;
    xHotspot := 0;
    yHotspot := 0;
    hbmMask := bmpMask.Handle;
    hbmColor := bmpTemp.Handle;
  end;

  Result := CreateIconIndirect(pInfo);
  FreeAndNil(bmpTemp);
  FreeAndNil(bmpMask);
end;

aber alle diese funktionieren bei mir nicht ;(
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat