Как преобразовать PNG в GIF, сохраняя прозрачность?Как преобразовать PNG в GIF, сохраняя прозрачность?
Я бы надеялся, что использование метода Assign() будет работать, но оно, похоже, не переносит прозрачность. В GIF он представлен как черный.
png:=TPngImage.Create;
try
png.LoadFromFile(sFile);
// comes from file: png.TransparencyMode;
// comes from file: png.Transparent
// didn't help: gif.Transparent:=true;
gif.Assign(png);
// didn't help: gif.Transparent:=true;
gif.SaveToFile('e:\tmp\out.gif');
finally
png.Free;
end;
Я не нашел способ справиться с этим в Delphi ...
спасибо!
PNG использует альфа-прозрачность. Как вы хотите с этим справиться? –
Я просто хочу, чтобы он выглядел так же, как GIF. –
Ну, это не будет выглядеть одинаково. PNG поддерживает полный цвет RGB с альфа-прозрачностью. GIF имеет 256 цветовых палитр и прозрачность пикселей. Нужно спросить, почему вы предпочитаете использовать такой формат изображения ниже. Это 2015 год! –