![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как переконвертировать PNG в BMP ? [Delphi, Windows]
Нуб © (2006-08-05 03:34:00)Как мне сделать так? Чтоб приложение брало из папки с игрой рисунок РNG формата и во время выполнения переконвертировало его в BMP формат?
Don Nikola (2006-08-05 10:22:00) [1]2Нуб:
http://pngdelphi.sourceforge.net/
В справке был пример конвертации.
antonn (2006-08-05 04:51:00) [2]я использовал когда то TPngObject, тогда код был примерно таким:
const MaxPixelCountA = MaxInt div SizeOf(TRGBQuad);
type PRGBAArray = ^TRGBAArray;
TRGBAArray = array[0..MaxPixelCountA-1] of TRGBQuad;
var i,ii,iii:integer; num:integer; bt,btm:TBitmap; fff:PRGBAArray; aaa:pByteArray;
begin
bt:=TBitmap.Create;
try
PNB.LoadFromFile(lb.Items.Strings[i]);
pnb.CreateAlpha;
bt.Assign(pnb);
bt.PixelFormat:=pf32bit;
for ii:=0 to bt.Height-1 do begin
fff:= bt.ScanLine[ii];
aaa:=pnb.AlphaScanline[ii];
for iii:=0 to bt.Width-1 do
fff[iii].rgbReserved:=aaa[iii];
end;
//bt - вот и оно...
end;
finally
bt.Free;
end;
Rial (2006-08-05 04:23:00) [3]GDI+ в помощь, там этот формат поддерживается.
Вообще, в инете можно запросто найти декодеры.