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

 
Функция StretchDraw()
Pan-SQL
Отправлено: 27.11.2004, 11:46


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







Здравствуйте! У меня на данный момент возник вопрос, связанный с масштабированием. На сей раз такой: на форме имеется кнопка и компонент Image1, имеющий некое изображение. При нажатии на кнопку изображение должно масштабироваться. Я использую следующий код:

TJPEGImage *jp = new TJPEGImage();
try
{

jp->Assign(Image1->Picture->Graphic);
Image1->Picture=NULL;
Image1->Canvas->StretchDraw(Rect(0,0,150,150), jp);
}
__finally
{
delete jp;
}

При масштабировании происходит нежелательная задержка: сначала компонент Image1 очищается и примерно через 2 секунды появляется изображение в новом масштабе. Можно ли «заставить» изображение появляться в новом масштабе мгновенно (без задержки)? Заранее благодарю.
Rius
Отправлено: 27.11.2004, 17:50


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

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



Например так:
CODE
Image1->Stretch = !Image1->Stretch;
.piero
Отправлено: 27.11.2004, 23:11


Дежурный стрелочник

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



не парься, делай просто: на нажатие кнопки:
CODE

Image1->Stretch = true;
Image1->Width = Form1->Width / 2;
Image1->Height = Form1->Height / 2;



Left и Top тоже можешь выровнять как тее надо.. а то ты ерундой занимаешься..
Pan-SQL
Отправлено: 29.11.2004, 14:17


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







Дело в том, что я масштабирую изображение, а не сам компонент Image. Вот пример: мне надо увеличить изображение, а компонент Image тесно встроен в форму. Как в этом случае быть?

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