Я пытаюсь преобразовать gif в png, это легко, но проблема в том, что результат изображения не прозрачен, также я хотел бы иметь в png-изображении альфа-канал.delphi конвертировать gif в png с прозрачностью
Это мой код:
procedure TForm1.Button1Click(Sender: TObject);
var
png: TPngImage;
p : TPicture;
begin
p := TPicture.Create;
p.LoadFromFile('C:\temp\php.gif');
png := TPngImage.CreateBlank(COLOR_RGB , 8, p.Width, p.Height);
png.Canvas.Draw(0,0, p.Graphic);
png.SaveToFile('C:\Windows\Temp\test.png');
end;
Новая картина имеет фон черный, должен быть прозрачным.
Если я попытаюсь добавить ALPHA в конструкторе, он будет прозрачным на 100%.
png := TPngImage.CreateBlank(COLOR_RGBALPHA , 8, p.Width, p.Height);
Попробуйте включить прозрачность 'TGraphic'. По умолчанию «false». 'p.Graphic.Transparent: = True;' –
Спасибо за ответ, но он не работает. – Max1298492
Привет Макс, какая версия Delphi вы используете, я нашел XE 5 по старому вопросу о вас. Я мог бы предложить очень простое решение без каких-либо артефактов. – bummi