Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Vector Гость
|
Добавлено: Вт Июн 15 2004 11:13 Заголовок сообщения: На С++ Builder уменьшить размер (разрешение) JPG картинки |
|
|
Дано: JPG - изображение, разрешение, например 2000х1000 - не принципиально...
Получить:JPG - изображение 200х100 - пропорциональное - реально ли это сделать на C++ Builder ? Ковырялся в TJPEGImage - ничего подходящего не нышёл. На форме изображение уменьшаеться, но как его сохранить уменьшенным ? |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Asper Гость
|
Добавлено: Вт Июн 15 2004 20:43 Заголовок сообщения: |
|
|
Ну вообще то почитай формат файла jpeg, я щас не помню точно, но вот например рассмотрим данный процесс на bmp, есть массив растровых данных, начинается со смещения 54 байта, если это 24 или 32 битная бмпшка, для того, что бы уменьшить разрешение картинки, нужно уменьшить число фактических пикселей, т. е если было 100*200, то будет 10*20, т. е. квадрат из 10*10 пикселей заменили одним пикселем, только надо не на обум цвет пикселя выбирать, а определять скажем что-нибудь среднее, это только например!!! |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
GREA
Зарегистрирован: 14.05.2003 Сообщения: 758 Откуда: Новосибирск
|
Добавлено: Ср Июн 16 2004 09:19 Заголовок сообщения: |
|
|
Не помню на счет Си, но в дельфах есть класс TJPEGImage.
Загружаешь его из файла. Потом метоодои assign перетаскиваешь его на обычную бмпшку.
По всем пикселам с шагом два по x и y (даст сжатие в два раза) пробегаешь все пикселы и копируешь их в еще один бмп объект (уже с шагом один). После чего, обратно в JPEGImage и в файл. Не пользуйся putpixel, setpixel ибо тормознуто. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|