| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Масштабирование изображения |
| Автор: Keeper89 12.4.2009, 00:41 |
| Доброго времени суток! Необходимо реализовать масштабирование картинки в файле до определенных размеров - т.е. загружаем картинку (не только BMP) из 1.??? и сохраняем масштабированную в файл 2.???. Искал по форуму ответ, так толком ничего и не нашел. Заранее благодарю. |
| Автор: Alexeis 12.4.2009, 11:21 |
| Работаем по схеме 1.??? -> загрузили -> Конвертируем в памяти в BMP -> StretchDraw на новый битмап двойного размера -> конвертируем в исходный формат -> сохраняем в 2.??? |
| Автор: Чупакабро 12.4.2009, 11:56 | ||
Вот пример для bmp, для jpg лень было делать
|
| Автор: Keeper89 12.4.2009, 13:03 | ||||
Спасибо, только заменил
на
Получилось тоже самое. Как сделать универсально для других типов рисунков? Например, конвертировать все в BMP как указал Alexeis? |
| Автор: Чупакабро 12.4.2009, 13:21 |
| Для jpeg: добавляешь в uses модуль jpeg вместо bt1 и bt2 (tbitmap) используешь рисунки image1, image2 их методы: image1.Picture.LoadFromFile('1.jpg'); image2.Picture.SaveToFile('2.jpg'); вместо bt1.canvas.pixels используешь image1.Canvas.Pixels для второго рисунка аналогично. Для других форматов файлов не знаю, может тоже модули есть наподобие jpeg. А если нет, то придется писать конвертацию вручную, а для этого надо знать форматы файлов, как они там устроены. |
| Автор: Keeper89 12.4.2009, 15:14 |
| Сделал через TImage, спасибо. |