![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
Доброго времени суток!
Необходимо реализовать масштабирование картинки в файле до определенных размеров - т.е. загружаем картинку (не только BMP) из 1.??? и сохраняем масштабированную в файл 2.???. Искал по форуму ответ, так толком ничего и не нашел. Заранее благодарю. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Работаем по схеме 1.??? -> загрузили -> Конвертируем в памяти в BMP -> StretchDraw на новый битмап двойного размера -> конвертируем в исходный формат -> сохраняем в 2.???
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Чупакабро |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 27.2.2007 Репутация: 2 Всего: 4 |
Вот пример для bmp, для jpg лень было делать
Присоединённый файл ( Кол-во скачиваний: 18 )
stretch.rar 552,82 Kb--------------------
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00459B8B in module 'Project1.exe'. Read of address 0000019C'. Process stopped. Use Step or Run to continue. |
|||
|
||||
| Keeper89 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
Спасибо, только заменил
на
Получилось тоже самое. Как сделать универсально для других типов рисунков? Например, конвертировать все в BMP как указал Alexeis? Это сообщение отредактировал(а) Keeper89 - 12.4.2009, 13:09 |
||||
|
|||||
| Чупакабро |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 27.2.2007 Репутация: 2 Всего: 4 |
Для 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. А если нет, то придется писать конвертацию вручную, а для этого надо знать форматы файлов, как они там устроены. --------------------
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00459B8B in module 'Project1.exe'. Read of address 0000019C'. Process stopped. Use Step or Run to continue. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
Сделал через TImage, спасибо.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |