Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Сведения о преобразованиях для отображения графики SkiaSharp
SkiaSharp поддерживает традиционные графические преобразования, реализованные как методы SKCanvas объекта. Математически преобразования изменяют координаты и размеры, заданные в функциях рисования в SKCanvas виде графических объектов. Преобразования часто удобны для рисования повторяющихся графиков или анимации. Некоторые методы , такие как поворот растровых изображений или текста, невозможно без использования преобразований.
Преобразования SkiaSharp поддерживают следующие операции:
- Преобразование в смену координат из одного расположения в другое
- Масштабирование для увеличения или уменьшения координат и размеров
- Поворот для поворота координат вокруг точки
- Смещение координат по горизонтали или по вертикали, чтобы прямоугольник стал параллелограммой
Они называются аффинными преобразованиями. Аффинные преобразования всегда сохраняют параллельные линии и никогда не приводят к бесконечности координат или размеров. Квадрат никогда не преобразуется в что-либо, отличное от параллелограммы, и круг никогда не преобразуется в что-либо, кроме многоточия.
SkiaSharp также поддерживает неаффинные преобразования (также называемые преобразованиями проективных или перспективных ) на основе стандартной матрицы преобразования 3–3. Неаффинное преобразование позволяет преобразовывать квадрат в любую выпуклую четырехсторонняя фигура, которая является четырехсторонней фигурой со всеми углами интерьера менее 180 градусов. Неаффинные преобразования могут привести к тому, что координаты или размеры становятся бесконечными, но они жизненно важны для трехмерных эффектов.
Различия между SkiaSharp и Xamarin.Forms преобразованиями
Xamarin.Forms также поддерживает преобразования, аналогичные преобразованиям в SkiaSharp. Класс Xamarin.FormsVisualElement определяет следующие свойства преобразования:
RotationY Свойства RotationX — это преобразования перспективы, которые создают эффекты quasi-3D.
Существует несколько важных различий между преобразованиями и Xamarin.Forms преобразованиями SkiaSharp:
Первое различие заключается в том, что преобразования SkiaSharp применяются ко всему SKCanvas объекту, а Xamarin.Forms преобразования применяются к отдельным VisualElement производным. (Вы можете применить Xamarin.Forms преобразования к SKCanvasView самому объекту, так как SKCanvasView производные от VisualElementэтого SKCanvasViewпреобразования SkiaSkarp применяются.)
Преобразования SkiaSharp относятся к левому верхнему углу преобразования в то время Xamarin.Forms как преобразования относятся к левому верхнему углу SKCanvas VisualElement, к которому они применяются. Это различие важно при применении преобразований масштабирования и поворота, так как эти преобразования всегда относительно определенной точки.
Действительно большое различие заключается в том, что преобразования SKiaSharp являются методами, а Xamarin.Forms преобразования являются свойствами. Это семантическая разница за пределами синтаксического различия: преобразования SkiaSharp выполняют операцию, когда Xamarin.Forms преобразования задают состояние. Преобразования SkiaSharp применяются к последующим графическим объектам, но не к графическим объектам, которые рисуются перед применением преобразования. В отличие от этого, Xamarin.Forms преобразование применяется к ранее отрисованным элементу, как только свойство задано. Преобразования SkiaSharp являются накопительными, так как вызываются методы; Xamarin.Forms преобразования заменяются при установке свойства другим значением.
Все примеры программ в этом разделе отображаются в разделе "Преобразования SkiaSharp" примера программы. Исходный код можно найти в папке "Преобразования " решения.
Преобразование переноса
Узнайте, как использовать преобразование перевода для смены графики SkiaSharp.
Преобразование масштаба
Откройте преобразование масштабирования SkiaSharp для масштабирования объектов в различные размеры.
Преобразование циклического сдвига
Изучите эффекты и анимации с помощью преобразования SkiaSharp.
Преобразование наклона
Узнайте, как преобразование смещений может создавать графический объект наклона.
Преобразования матрицы
Углубиться в преобразования SkiaSharp с помощью универсальной матрицы преобразования.
Манипуляции сенсорного ввода
Используйте преобразования матриц для реализации сенсорных манипуляций для перетаскивания, масштабирования и поворота.
Неаффинные преобразования
Перейдите за рамки oridinary с неаффинными эффектами преобразования.
Трехмерный поворот
Используйте неаффинные преобразования для поворота трехмерных объектов в трехмерном пространстве.