Отображение метафайла Windows (wmf) в C#

Метафайк Windows (wmf) - это файл изображения, содержащий инструкции для рисования фигур. Напротив, растровые, PNG, JPG и другие файлы растровых изображений указывают точно, какие цвета должны иметь отдельные пиксели. Поскольку метафайл в Windows содержит команды рисования вместо значений пикселей, вы можете изменить размер метафайла Windows без создания уродливых эффектов сглаживания.

В этом примере загружается метафайл Windows двумя способами и немного увеличивается. При загрузке в виде растрового изображения (слева) увеличенная версия является блочной и пиксельной. При загрузке в виде метафайла (справа) результат становится более плавным.

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

// Загрузите изображения.
private void Form1_Load(object sender, EventArgs e)
{
    // Загружаем как растровое изображение, чтобы увидеть, насколько оно велико.
    string filename = "Epitrochoid.wmf";

    picImage.Image = new Bitmap(filename);
    picMetafile.Image = new Metafile(filename);
}

Сначала программа создает новый объект Bitmap, передавая его конструктору имя метафайла. Затем он создает новый объект Metafile, передавая его конструктору имя метафайла.

Сначала программа создает новый объект Bitmap, передавая его конструктору имя метафайла. Затем он создает новый объект Metafile, передавая его конструктору имя метафайла.

...

По какой-то досадной причине, если вы устанавливаете свойство Image элемента управления Image элемента управления в метафайле Windows во время разработки, программа загружает его как Bitmap tt> вместо Metafile. Это означает, что если вы создадите PictureBox изображение с отличным от исходного размера, вы получите эффекты сглаживания.

Источник: http://csharphelper.com/blog/2016/09/display-a-windows-metafile-wmf-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector