Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Вписать изображение в рамку


Автор: Montysson 10.6.2012, 14:48
Всем привет.

Вообщем у меня в БД хранится изображение, к примеру как на рисунке ниже, причем изображение на рисунке представлено в свой собственный размер.

user posted image

Я хочу это изображение вписать в прямоугольник, изображенный на рисунке ниже:

user posted image

Я рисую следующим образом (к примеру, через Draw вообщем):

Код
PaintBox.Canvas.Draw(0, 0, Image.Picture.Graphic)


Видимо поэтому как бы не изменял я размеры изображения это не помогает вписать в прямоугольник. 

Подскажите как мне быть

Автор: de_Nis 11.6.2012, 11:05
Может быть, действовать в следующей последовательности:
 - нарисовать прямоугольник, запомнить его координаты в переменных
 - вставить изображение из базы в Image 
 - зная размеры прямоугольника (по его координатам), отмасштабировать Image (и, соответственно, изображение) до размеров, соответствующих прямоугольнику (в данном случае, чтобы не было искажения изображения, вписать изображение двери в прямоугольник по вертикали. Например, если прямоугольник по высоте 100 пикселей, а Image 300, сделать высоту Image, например, 80 пикселей, то есть меньше в 300/8=3,75, и ширину Image сделать во столько же раз меньше)
 - зная координаты прямоугольника, разместить Image в нужной области прямоугольника

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)