![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преобразовать BMP в JPEG, сжать и записать в TMemoryStream [D7]
user99834 © (2010-03-17 17:25:00)Здравствуйте, хотелось бы получить ответ на вопрос - что-то я, похоже, делаю неправильно.
bm:=TBitMap.Create;
bm.LoadFromFile('1.bmp');
jpgCurrent:=TJpegImage.Create;
jpgCurrent.Assign(bm);
jpgCurrent.CompressionQuality:=10;
jpgCurrent.DIBNeeded;
jpgCurrent.Compress;
jpgCurrent.SaveToFile('1.jpg'); //для проверки сохраняю в файл
Не получается, вылетает Access Violation
antonn (2010-03-18 22:14:00) [1]поиск в руки, я тему тут создавал
Германн (2010-03-18 02:45:00) [2]
> antonn © (18.03.10 01:01) [10]
>
>
> > Rouse_ © (17.03.10 20:39) [8]
> >
> >
> > > Вообще та еще дрянь. Глючная по самое нихочу.
> >
> > Поподробнее можно?
>
> например в исходнике jpeg в коде есть строки
А привести сами строки с комментариями лень?
antonn (2010-03-18 01:01:00) [3]
> Rouse_ © (17.03.10 20:39) [8]
>
>
> > Вообще та еще дрянь. Глючная по самое нихочу.
>
> Поподробнее можно?
например в исходнике jpeg в коде есть строки явно обращающиеся к нулевой и первой строке пикселов. Отсюда jpeg в дельфи не везде может быть высотой в 1 пиксель :)
DVM (2010-03-17 20:42:00) [4]
> Лучше уж битмап зелибом жать
intel jpeg library
вот еще такой вариант нашел недавно
http://blog.synopse.info/post/2010/03/14/Fast-JPEG-decoder-using-SSE/SSE2
Rouse_ (2010-03-17 20:39:00) [5]
> Вообще та еще дрянь. Глючная по самое нихочу.
Поподробнее можно?
яяя (2010-03-17 19:39:00) [6]>> TJpegImage
Вообще та еще дрянь. Глючная по самое нихочу. Особенно все что связано с компресией и стреамами...
Ни на что кроме чтения и записи файла не пригодная.
Лучше уж битмап зелибом жать
яяя (2010-03-17 19:39:00) [7]Или искать менее глючный аналог
Leonid Troyanovsky (2010-03-17 18:39:00) [8]
> user99834 (17.03.10 18:31) [4]
> jpgCurrent.Performance := jpBestSpeed;
>
> Без этого кода все работает.
Не верю. (c)
--
Regards, LVT.
user99834 (2010-03-17 18:31:00) [9]Ан нет. Влияет на это следующее:
jpgCurrent.Performance := jpBestSpeed;
Без этого кода все работает. Спасибо всем.
user99834 (2010-03-17 18:29:00) [10]Мда... Проблема в том, что этот код и есть собственно весь. Хорошо, а как кроме такого способа можно сделать указанное?
DVM (2010-03-17 18:23:00) [11]
> user99834 (17.03.10 17:25)
> Не получается, вылетает Access Violation
В этом коде нет ошибки. Ошибка в другом месте.
{RASkov} (2010-03-17 17:58:00) [12]> [0] user99834 (17.03.10 17:25)
На какой строке АВ?