Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как Сохранить в 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,
Если размер опять такой же будет тогда перед сохранением попробуй изменить компресию


Наверх

Титульная страница Поиск, карта сайта Написать письмо