Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[35.173.48.18] |
|
Сообщ.
#1
,
|
|
|
У меня на холст добавляется два квадрата. Для каждого нужно применить ModifyWorldTransform с разными значениями. Чтобы установить каждый квадрат по оси координат. Но почему-то ModifyWorldTransform использует значения по оси x и y одинаковые, что указаны в самом начале, для одного и второго квадрата. Т.е. один квадрат накладывается на другой. Пример на картинке.
Прикреплённый файлimg1.jpg (2,77 Кбайт, скачиваний: 21) Как использовать ModifyWorldTransform с разными значениями? Код: procedure TForm1.FormCreate(Sender: TObject); var HDC:THandle; M:TXFORM; a:Double; begin hDc := Image3.Canvas.Handle; SetGraphicsMode(hDc, GM_ADVANCED); fillChar(M, sizeOf(M), 0); M.eM11 := 1; M.eM12 := 0; M.eM21 := 0; M.eM22 := 1; M.eDx := 50; M.eDy := 150; ModifyWorldTransform(hDc, M, MWT_LEFTMULTIPLY); Image3.Canvas.Pen.Color:=clBlue; Image3.Canvas.Pen.Width := 4; Image3.Canvas.Brush.Color:=clGreen; Image3.Canvas.Rectangle(0,0,50,50); // hDc := Image3.Canvas.Handle; // SetGraphicsMode(hDc, GM_ADVANCED); fillChar(M, sizeOf(M), 0); M.eM11 := 1; M.eM12 := 0; M.eM21 := 0; M.eM22 := 1; M.eDx := 250; M.eDy := 150; ModifyWorldTransform(hDc, M, MWT_LEFTMULTIPLY); Image3.Canvas.Pen.Color:=clRed; Image3.Canvas.Pen.Width := 4; Image3.Canvas.Brush.Color:=clGreen; Image3.Canvas.Rectangle(0,0,50,50); end; Добавлено Походу дела нужно как-то сохранять значения и возвращать их. В HTML5 для этого существуют функции save и restore, а здесь не знаю как это сделать. |
Сообщ.
#2
,
|
|
|
savedc/restoredc
|