C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Изменить размер
** Алексей
Отправлено: 01.05.2005, 21:27


Не зарегистрирован







Как загрузить картинку, изменить размер изображения (сжать или растянуть), а затем сохранить в файле.
Guest
Отправлено: 01.05.2005, 22:18


Не зарегистрирован







Image1->Picture->LoadFromFile(AnsiString FileName);
Image1->Picture-> ....
Image1->Picture->SaveToFile(AnsiString FileName);
** Алексей
Отправлено: 02.05.2005, 01:08


Не зарегистрирован







Спасибо, но это я знаю. Мне нужно перед сохранением изменить размер.
Guest
Отправлено: 02.05.2005, 18:32


Не зарегистрирован







CODE

Image1->Picture->LoadFromFile("d:\\file.BMP");
   Image1->Picture->Bitmap->Width  = Image1->Picture->Bitmap->Width + 100;
   Image1->Picture->Bitmap->Height = Image1->Picture->Bitmap->Height — 20;
   Image1->Picture->SaveToFile("d:\\file_new.BMP");
Sl@Sh
Отправлено: 02.05.2005, 21:19


Мастер участка

Группа: Участник
Сообщений: 383



Используйте апишные функции StretchBlt или StretchDraw.
Тогда я бы вам рекомендовал создать временное изображение (TBitmap), с размерами, которые должны быть у целевого. Затем с помощью какой-то из этих функций скопируйте исходное изображение в целевое.

QUOTE
Image1->Picture->Bitmap->Width  = Image1->Picture->Bitmap->Width + 100;
Image1->Picture->Bitmap->Height = Image1->Picture->Bitmap->Height — 20;

Возможно я ошибаюсь, но это приведёт к обрезанию картинки.
** Алексей
  Отправлено: 02.05.2005, 23:17


Не зарегистрирован







Спасибо за помощь, StretchDraw это то, что было нужно.
А вот метод, который посоветовал Guest, обрезает картинку.

Вернуться в Вопросы программирования в C++Builder