Delphi 7 Bitmap. SaveToFile и прозрачный - PullRequest
0 голосов
/ 20 апреля 2011

Я хочу сохранить ICO из БД в файл, но у меня проблема с прозрачностью. Когда я сохраняю его в c: \ 1.ico, файл результатов не имеет прозрачности.

procedure DBIconsToFIle;
var
  Streams: TStream;
  fIcon : TBitmap;
begin
  //load stream from db
  FIcon.LoadFromStream(Streams);
  FIcon := TBitmap.Create;
  FIcon.TransparentColor := clWhite;
  FIcon.PixelFormat := pf32bit;
  FIcon.Height := 16;
  FIcon.Width := 16;
  FIcon.SaveToFile(tmpFile);
  //destroys
end;

Как я могу сохранить его с прозрачностью?

1 Ответ

3 голосов
/ 20 апреля 2011

Расширение имени файла для значков .ico, а не .icon. Кроме того, почему бы вам не использовать TIcon вместо TBitmap, если вы хотите сохранить значок? И почему в мире вы используете LoadFromStream первый и TBitmap.Create второй?!

Имеет ли немного более нормальный код

var
  Icon: TIcon;
begin
  Icon := TIcon.Create;
  try
    Icon.LoadFromStream(SomeStream);
    Icon.SaveToFile(SomeFileName);
  finally
    Icon.Free;
  end;

работаешь на тебя?

...