![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как Сохранить в PNG [D5]
Fly © (2006-02-15 10:12:00)Товарищи помогите разобраться с PNG. Проблема в том что сохранять я собственно научился, но размер файла получается такой-же как у исходного bmp. Как можно сжимать PNG перед тем как сохранить его.
Stream:=TmemoryStream.create;
Stream1:=TmemoryStream.create;
Stream.LoadFromFile('C:\MY\Work\Справка\Резка_файла\171_.bmp');
Bitmap:=Tbitmap.create;{
bitmap.LoadFromFile('C:\MY\Work\Справка\Резка_файла\171_.bmp');}
Bitmap.loadfromstream(Stream);
png:=TPNGGraphic.Create;
png.Assign(Bitmap);
png.SaveToStream(stream1);
stream1.SaveToFile('C:\MY\Work\Справка\Резка_файла\171_111.png');
Bitmap.free;
Stream.Free;
stream1.Free;
png.free;
Пробовал строчку
png.ImageProperties.Compression:=ctRLE;
Не работает. Может как-то по другому можно присваивать тип сжатия?
Fly (2006-02-16 10:58:00) [1]Да то же самое получается. Мне как раз и надо узнать как изменить компрессию. Если знаешь подскажи плиз.
Ламерище (2006-02-16 03:43:00) [2]
procedure TForm1.Button1Click(Sender: TObject);
var
png: TpngImage;
Bitmap: TBitmap;
begin
png := TpngImage.Create;
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile('ya6.bmp');
png.Assign(Bitmap);
png.SaveToFile('yanew.png');
finally
png.Free;
Bitmap.Free;
end;
end;
end.
У тебя не правельно 10 строка,и закоментирован код в строке 5.
Принцеп тот же что и с твоим компонентом пнг,
Попробуй должно работать,TpngImage замени на TPNGGraphic,
Если размер опять такой же будет тогда перед сохранением попробуй изменить компресию