{
Исходный код генератора значков формата Windows Icon
из изображений формата PNG.
Copyright © 2021 Малик Разработчик
Это свободная программа: вы можете перераспространять её и/или
изменять её на условиях Стандартной общественной лицензии GNU в том виде,
в каком она была опубликована Фондом свободного программного обеспечения;
либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она может быть полезна,
но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННЫХ ЦЕЛЕЙ. Подробнее см. в Стандартной
общественной лицензии GNU.
Вы должны были получить копию Стандартной общественной лицензии GNU
вместе с этой программой. Если это не так, см.
<http://www.gnu.org/licenses/>.
}
program mkico;
{$MODE DELPHI}
uses
{$IF DEFINED(UNIX) AND DEFINED(USECTHREADS)} cthreads, {$ENDIF}
graphics,
pascalx.lang;
var
i: int;
len: int;
icon: TIcon;
args: UnicodeString_Array1d;
image: TPortableNetworkGraphic;
{$R *.res}
begin
args := systemGetCommandLine();
len := length(args);
if len < 3 then begin
writeln('Usage: mkico <destination icon file name> <png 1 file name> <png 2 file name> ... <png N file name>');
end else begin
icon := TIcon.create();
try
for i := 2 to len - 1 do begin
image := TPortableNetworkGraphic.create();
try
image.loadFromFile(stringToUTF8(args[i]));
icon.add(TPixelFormat.pf32bit, image.height, image.width);
icon.current := i - 2;
icon.assignImage(image);
finally
image.free();
end;
end;
icon.saveToFile(stringToUTF8(args[1]));
finally
icon.free();
end;
end;
end.