Страница 1 из 1
Изменение размеров рисунка в C++ Builder
Добавлено: 30 апр 2008, 15:31
AleksP
На форме есть компонент TImage(Image1). Содержимое рисунка заполняется методом Image1->Canvas->Rectangle().
1) Можно ли изменить размер рисунка при изменении размеров формы?
2) Как удалить содержимое рисунка, чтобы при этом остался виден только белый фон?
Re: Изменение размеров рисунка в C++ Builder
Добавлено: 30 апр 2008, 21:34
Alex_Burn
Насчет очистки рисунка:
В каком нибудь обработчике пишете
[Syntax="C++"]
Graphics::TPicture *Picture1=new Graphics::TPicture(); //создаем пустой обьект
Image1->Picture->Assign(Picture1); //загружаем пустой обьект
Picture1->Free(); //удалям из памяти пустой объект
Image1->Canvas->Brush->Color = clWhite;
[/Syntax]
Re: Изменение размеров рисунка в C++ Builder
Добавлено: 30 апр 2008, 21:38
Romeo
А на счёт ресайзинга рисунка вот что могу сказать. Не знаю, как это сделать в VTL, но на чистом Win32 API тебе поможет функция StretchBlt. Подробности в MSDN:
http://msdn.microsoft.com/en-us/library/ms532355.aspx
Re: Изменение размеров рисунка в C++ Builder
Добавлено: 25 апр 2010, 18:17
HollywooD-new
пишу подобную программу и для решения вашей проблемы сделал так
Код: Выделить всё
void __fastcall TForm1::ListView1SelectItem(TObject *Sender, //открытие выделеной картинки в image1
TListItem *Item, bool Selected)
{ if(ListView1->Selected){
AnsiString path = Item->SubItems->Strings[2];
Image1->Picture->LoadFromFile(path);
} else Image1->Picture = NULL; // ничего не показывай
}