![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#4
|
|||
|
|||
![]() Во первых, советую отказаться от TImage и взять лучше TPaintBox (дальнейших проблем будет меньше).
Вообще, я обычно для этой цели ввожу некий параметр FScale : Double, который отвечает за размерность картинки, а при отрисовке, умножаю все координаты на это значение. То есть, если FScale = 1,5 , то изображение будет на половину больше, если FScale = 0,5 , то наполовину меньше. А для центровки графика, достаточно вычислить смещение графика к центру, и при отрисовки прибавлять к координатам это смещение, к примеру: Height - высота области для рисования Width - ширина области для рисования hgt - высота графика wdt - ширина графика FX,FY - координаты смещения Код:
FX:=(Width div 2)-(wdt div 2); FY:=(Height div 2)-(hgt div 2); Код:
FX:=Round((Width/2)-(wdt/2)); FY:=Round((Height/2)-(hgt/2)); Код:
Rectangle(FX+Round(X1*FScale), FY+Round(Y1*FScale), FX+Round(X2*FScale), FY+Round(Y2*FScale)); Последний раз редактировалось Asinkrit, 01.12.2009 в 00:32. |