.icns file writer (icons <= 128x128)
Original Reporter info from Mantis: skalogryyz
-
Reporter name: Dmitry Boyarintsev
Original Reporter info from Mantis: skalogryyz
- Reporter name: Dmitry Boyarintsev
Description:
.icns file writer for icons <= 128x128.
for 256 and higher jpeg2000 is required.
The patch needs to be tested on big-endian machines.
Additional information:
program project1;
{$mode objfpc}{$H+}
uses
FileUtil, Interfaces, Graphics;
var
myicon : TIcnsIcon;
procedure AddLayer(size: Integer; color: TColor);
var
ofs, efs : Integer;
begin
myicon.Add(pf32bit, size, size);
myicon.Current:=myicon.Count-1;
myicon.Canvas.Brush.Color:=color;
myicon.Canvas.FillRect(0,0,size,size);
myicon.Canvas.Brush.Color:=clWhite;
ofs := size div 4;
efs := size - ofs;
myicon.Canvas.FillRect(ofs, ofs, efs, efs);
end;
begin
myicon := TIcnsIcon.Create;
AddLayer(16, clRed);
AddLayer(32, clYellow);
AddLayer(48, clBlack);
AddLayer(128, clBlue);
DeleteFileUTF8('test.icns');
myicon.SaveToFile('test.icns');
myicon.Free;
end.
Mantis conversion info:
- Mantis ID: 14638
- Fixed in version: 0.9.29 (SVN)
- Fixed in revision: 21795 (#93e95841)
- Target version: 0.9.30