GraphicsPath и Matrix

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

solarx
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 16.12.2004 (Чт) 17:37

GraphicsPath и Matrix

Сообщение solarx » 13.01.2005 (Чт) 23:20

Друзья!

Очень нравится мне способ изменения рисунка методом, к примеру
Matrix.Rotate(45)
GraphicsPath.Transform(Matrix)

При этом rectangle созданный из точки 0,0 с размером 10,10 будет иметь размер 10,10 и обрабатываться нормально. Однако вот беда - если создать этот rectangle из точки 10,10 с размером 10,10 то размер "изделия" получится не 10,10, а 20,20. И соответственно обрабатываться матрицей будет точно также: при масштабировании будет масштабироваться не только сам квадратик но и поля сверху/слева до него; при вращении - тоже самое. Кто нибудь с этим как-то справлялся? Или все ручками.. ручками.. ?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.01.2005 (Пт) 3:15

А какая конкретно цель должна быть достигнута?
Вращение вокруг произвольной точки (X, Y), вместо (0, 0)?
Если да, то оно достигается тремя перобразованиями: перенос на (-X, -Y), поворот, перенос на (X, Y).
Изображение

solarx
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 16.12.2004 (Чт) 17:37

Сообщение solarx » 14.01.2005 (Пт) 17:23

Мне нужно сформировать энное количество полигонов, взаимосвязанных между собой и формирующих в результате цельный объект. Хочется не просчитывать заранее все точки этого объекта, а именно создать отдельной каждый полигончик и далее последовательно разместить их на контроле в нужных местах уже относительно друг друга, потом все скопом смаштабировать до нужного размера и т.д.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 15.01.2005 (Сб) 3:47

Я не понял, зачем там повороты :-)
Но как осуществить поворот вокруг произвольной точки, я уже написал.
Изображение

solarx
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 16.12.2004 (Чт) 17:37

Сообщение solarx » 20.01.2005 (Чт) 17:42

Спасибо. Кажется разобрался. :)


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 75

    TopList