АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Локальные преобразования

Читайте также:
  1. Алгоритм преобразования области в плоскостных координатах
  2. Военные преобразования.
  3. Вопрос. Локальные и глобальные сети ЭВМ. Основы компьютерных коммуникаций. Общие сведения об internet. Основные службы internet. Электронная почта.
  4. ВЫВОДЫ ИЗ КАТЕГОРИЧЕСКИХ СУЖДЕНИЙ ПОСРЕДСТВОМ ИХ ПРЕОБРАЗОВАНИЯ
  5. Инновации и инновационные преобразования.
  6. Интегро-дифференциально-разностные уравнения Вольтера и интегральные преобразования.
  7. Кодеры с линейной шкалой преобразования. Классификация. Кодеры взвешивающие.
  8. Кодеры с линейной шкалой преобразования. Классификация. Кодеры последовательного счета.
  9. Культурные преобразования.
  10. Локальные и глобальные переменные.
  11. ЛОКАЛЬНЫЕ ОПУХОЛЕВЫЕ ПРОЦЕССЫ.

Локальным преобразованием называется преобразование, применяемое к определенному рисуемому элементу. Например, объект GraphicsPath содержит метод Transform, позволяющий выполнять преобразования над точками, задающими контур. В приведенном ниже примере демонстрируется рисование прямоугольника без преобразования и рисование контура с применением поворота. (Предполагается, что объемные преобразования отсутствуют.)

ß---------

Сочетание объемного преобразования и локального преобразования позволяет получать различные результаты. Например, объемное преобразование можно использовать для изменения системы координат, а локальные преобразования можно использовать для вращения и масштабирования объектов, рисуемых в новой системе координат.

Предположим, что нужно задать систему координат с началом, удаленным на 200 точек от левого края и на 150 точек от верхнего края клиентской области. Кроме того, предположим, что в качестве единицы измерения в этой системе координат должна использоваться точка, ось X должна быть направлена вправо, а ось Y — вверх. Ось Y системы координат, заданной по умолчанию, направлена вниз, поэтому нужно выполнить отражение относительно горизонтальной оси. На приведенном ниже рисунке показана матрица, задающая такое отражение.

Затем предположим, что нужно выполнить сдвиг на 200 единиц вправо и на 150 единиц вниз.

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

 

 

ß-------


The following code (placed at the end of the preceding example) creates a path that consists of a single rectangle with its lower-left corner at the origin of the new coordinate system. The rectangle is filled once with no local transformation and once with a local transformation. The local transformation consists of a horizontal scaling by a factor of 2 followed by a 30-degree rotation.

// Create the path. GraphicsPath myGraphicsPath = new GraphicsPath(); Rectangle myRectangle = new Rectangle(0, 0, 60, 60); myGraphicsPath.AddRectangle(myRectangle);   // Fill the path on the new coordinate system. // No local transformation myGraphics.FillPath(mySolidBrush1, myGraphicsPath);   // Set the local transformation of the GraphicsPath object. Matrix myPathMatrix = new Matrix(); myPathMatrix.Scale(2, 1); myPathMatrix.Rotate(30, MatrixOrder.Append); myGraphicsPath.Transform(myPathMatrix);   // Fill the transformed path on the new coordinate system. myGraphics.FillPath(mySolidBrush2, myGraphicsPath);

The following illustration shows the new coordinate system and the two rectangles.


Приведенный ниже код (который должен следовать сразу после кода из примера, приведенного выше) создает контур, состоящий из одного прямоугольника, нижний левый угол которого расположен в начале новой системы координат. Прямоугольник заливается один раз без применения локальных преобразований и один раз с применением локального преобразования. Локальное преобразование заключается в масштабировании по горизонтали с коэффициентом 2, после которого применяется поворот на 30 градусов.

ß-----

 

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


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)