Поворот или отражение изображений в C# .NET

При работе с изображениями вам часто может понадобиться повернуть их под разными углами. Кроме того, в различных случаях также используются горизонтальные и вертикальные флипы. Оба считаются ключевыми функциями каждого графического редактора. В этой статье вы узнаете, как программно поворачивать и отражать изображения на C#.

С# .NET API для поворота и отражения изображений

Чтобы вращать и переворачивать изображения из приложений .NET, мы будем использовать Aspose.Imaging for .NET. Это API обработки изображений, который предоставляет широкий спектр функций для работы с различными типами изображений. Кроме того, он скрывает сложные операции и упрощает обработку изображений. Вы можете загрузить API или установить его в свои приложения .NET с помощью NuGet.

PM> Install-Package Aspose.Imaging

Поворот и отражение изображения в C#

Чтобы повернуть изображение, вам нужно указать угол поворота. Чаще всего используются углы 90, 180 и 270 градусов. Кроме того, изображения переворачиваются по горизонтали или вертикали. Aspose.Imaging для .NET одновременно выполняет вращение и переворачивание. Для этого API предоставляет перечисление RotateFlipType для указания угла поворота и типа отражения. Вы можете выполнять следующие операции отражения/поворота изображения:

  • Только поворот
  • Только перевернуть
  • И вращать, и переворачивать

Давайте посмотрим, как выполнить каждую из вышеупомянутых операций на следующем изображении.

Изображение для вращения и отражения

Поворот изображения в C#

Во-первых, давайте посмотрим, как повернуть изображение. Следующие параметры используются для поворота изображения без отражения.

  • Rotate180FlipNone: поворот на 180 градусов без отражения
  • Rotate270FlipNone: вращение на 270 градусов без отражения
  • Rotate90FlipNone: поворот на 90 градусов без отражения

Ниже приведены шаги для выполнения поворота изображения в C#.

  • Сначала загрузите файл изображения с помощью класса Image.
  • Затем поверните изображение на 270 градусов, используя метод Image.RotateFlip(RotateFlipType.Rotate270FlipNone).
  • Наконец, сохраните обновленное изображение с помощью метода Image.Save(string).

В следующем фрагменте кода показано, как повернуть изображение на определенный угол.

// Загрузите изображение в экземпляр Image
using (Image image = Image.Load("image.bmp"))
{
    // Повернуть изображение
    image.RotateFlip(RotateFlipType.Rotate270FlipNone);

    // Сохранить изображение
    image.Save("image-rotated.bmp");
}

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

повернуть изображение в С#

Повернуть изображение

Перевернуть изображение в C#

Теперь посмотрим, как перевернуть изображение без поворота. Для этого используются следующие элементы RotateFlipType.

  • RotateNoneFlipX: нет вращения с горизонтальным отражением
  • RotateNoneFlipY: без вращения с вертикальным отражением
  • RotateNoneFlipXY: без вращения с горизонтальным и вертикальным отражением

Ниже приведены шаги, чтобы перевернуть изображение в C#.

  • Сначала загрузите файл изображения с помощью класса Image.
  • Затем переверните изображение по горизонтали, используя метод Image.RotateFlip(RotateFlipType.RotateNoneFlipX).
  • Наконец, сохраните обновленное изображение с помощью метода Image.Save(string).

В следующем примере кода показано, как перевернуть изображение в приложениях .NET.

// Загрузите изображение в экземпляр Image
using (Image image = Image.Load("image.bmp"))
{
    // Перевернуть изображение
    image.RotateFlip(RotateFlipType.RotateNoneFlipX);

    // Сохранить изображение
    image.Save("image-flipped.bmp");
}

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

Перевернуть изображение в C#

Перевернуть изображение

Поворот и отражение изображения в C#

В этом разделе мы увидим, как поворачивать и отражать изображение одновременно. Для этого используются следующие члены перечисления RotateFlipType.

  • Rotate180FlipX: поворот на 180 градусов с горизонтальным отражением
  • Rotate180FlipXY: поворот на 180 градусов с горизонтальным и вертикальным отражением
  • Rotate180FlipY: поворот на 180 градусов с вертикальным отражением
  • Rotate270FlipX: поворот на 270 градусов с горизонтальным отражением
  • Rotate270FlipXY: вращение на 270 градусов с горизонтальным и вертикальным отражением
  • Rotate270FlipY: вращение на 270 градусов с вертикальным отражением
  • Rotate90FlipX: поворот на 90 градусов с горизонтальным отражением
  • Rotate90FlipXY: поворот на 90 градусов с горизонтальным и вертикальным отражением
  • Rotate90FlipY: поворот на 90 градусов с вертикальным отражением

Ниже приведены шаги для поворота и отражения изображения в C#.

  • Сначала загрузите файл изображения с помощью класса Image.
  • Затем поверните изображение на 180 градусов и отразите его по горизонтали, используя метод Image.RotateFlip(RotateFlipType.Rotate180FlipX).
  • Наконец, сохраните обновленное изображение с помощью метода Image.Save(string).

В следующем фрагменте кода C# показано, как выполнять одновременное вращение и отражение.

// Загрузите изображение в экземпляр Image
using (Image image = Image.Load("image.bmp"))
{
    // Повернуть и отразить изображение
    image.RotateFlip(RotateFlipType.Rotate180FlipX);

    // Сохранить изображение
    image.Save("image-rotated-flipped.bmp");
}

На следующем снимке экрана показано, как выглядит изображение после применения поворота и отражения.

Повернуть и отразить изображение в C#

Повернуть и отразить изображение

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию для использования Aspose.Imaging for .NET без ограничений пробной версии.

Вывод

В этой статье вы узнали, как программно поворачивать и отражать изображения на C#. Кроме того, в пошаговом руководстве и примерах кода показано, как поворачивать изображение, отражать изображение, а также поворачивать и отражать изображение одновременно. Кроме того, вы можете узнать больше об API обработки изображений .NET, используя документацию. Кроме того, вы можете загрузить образцы исходного кода API с GitHub. В случае возникновения вопросов вы можете связаться с нами на нашем форуме.

Смотрите также