Путь разработчика    

Преобразование метафайла в PNG-файл в C#


Метафайл (файл WMF) содержит команды рисования, которые сообщают программе, как создавать изображение. Это очень полезно и позволяет изменять размер изображения без создания уродливых эффектов сглаживания, но иногда вам может понадобиться растровое изображение, чтобы вы могли управлять своими пикселями. В этом примере вы можете загружать файлы WMF и сохранять их в виде файлов PNG.

Программа использует следующий код для загрузки WMF-файла.

Python

В коде отображается FileOpenDialog, чтобы пользователь мог выбрать метафайл. Если пользователь выбирает файл и нажимает «Открыть», программа загружает метафайл в Bitmap и отображает его.

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

Python

Этот код отображает SaveFileDialog, чтобы пользователь мог выбрать файл для сохранения изображения. Затем он вызывает метод загруженного bitmap Сохранить, передавая ему имя файла и значение ImageFormat.Png, чтобы указать, что изображение должно быть сохранено в виде файла PNG.

Оба файла WMF и PNG поддерживают прозрачные пиксели. Когда эта программа преобразует WMF в PNG-файл, сохраняются любые прозрачные пиксели.

Источник: http://csharphelper.com/blog/2016/09/convert-a-metafile-into-a-png-file-in-c/



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Процедурные языки программирования

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

13 11 2019 0:36:25

Как дать свойства индексатора по умолчанию для класса в C#

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

12 11 2019 6:48:27

График исторических значений Dow Jones Industrial Average в C#

Эта программа отображает исторические цены на индекс Dow Jones Industrial Average. Я получил данные с этого URL: Поля в URL: Результаты приведены в примере...

11 11 2019 7:19:56

Используйте оператор is в C#

Оператор is позволяет определить, можно ли преобразовать объект в определенный тип. Например, предположим, что класс Student наследуется от Person и что st...

10 11 2019 20:52:14

Создайте список недавно использованных файлов (MRU) в C#

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

09 11 2019 6:27:38

Что такое отказобезопасные и отказоустойчивые итераторы в Java

Неуправляемые итераторы Fail-Fast iterators, возвращенные большинством типов коллекций, не переносят каких-либо структурных изменений в коллекции, итерации...

08 11 2019 18:13:20

Преобразования десятичного числа в двоичное в C#

В этой статье мы напишем программу на C# для преобразования десятичного числа в двоичное. Вывод:  ...

07 11 2019 14:58:18

Используйте событие Validating в C#

Когда фокус перемещается от одного элемента управления к другому, первый может запустить событие Validating. Это происходит только в том случае, если свойс...

06 11 2019 0:17:34

Сделайте кнопку с картинкой под ней в C#

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

05 11 2019 19:29:50

Используйте код WPF для отображения индексов и надстроек в C#

В сообщении Отображение индексов и надстроек в текстовом блоке WPF в C# < / a> Я упомянул, что вы можете создавать индексы и надстрочные индексы в коде WPF...

04 11 2019 11:45:33

Программирование на Java

Сокет - одна из самых фундаментальных технологий программирования компьютерной сети. Это способ подключения двух узлов в сети для связи друг с другом. Прог...

03 11 2019 13:51:34

Оператор Java break и continue

Иногда желательно пропустить некоторые утверждения внутри цикла или немедленно завершить цикл, не проверяя тестовое выражение. В таких случаях мы можем исп...

02 11 2019 19:38:47

Нарисуйте кривую Безье в C#

В этом примере показано, как использовать метод DrawBezier класса Graphics для рисования кривой Безье. Кривая Безье соединяет две конечные точки с гладкой...

01 11 2019 21:27:48

Отображать изображения в базе данных Access в WPF и C#

В этом примере показано, как вы можете отображать изображения, хранящиеся в базе данных Access в программе WPF. Вы можете сделать это с помощью связанных э...

31 10 2019 23:55:35

Рассчитайте стоимость ежемесячных инвестиций в C#

Магия инвестиций с сложным интересом заключается в том, что со временем вы получаете интерес к интересам. За каждый месяц эта программа рассчитывает процен...

30 10 2019 20:55:15

Как использовать блокировки в Java

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

29 10 2019 14:38:48

Что такое механизм передачи параметров Python?

В терминах официальных Документация Python , аргументы передаются путем назначения в Python. Фактические параметры (аргументы) для вызова функции вводятся...

28 10 2019 12:19:23

Какая разница между потоками байтов и потоками символов

Поток - это способ последовательного доступа к файлу. В Streams вы можете обрабатывать данные по одному, поскольку массовые операции с ними недоступны. Но...

27 10 2019 10:34:59

Нарисуйте прокладку Аполлония в C#

Пример Найти круги, которые касаются трех заданных кругов (проблема Аполлония) в C# , показывают, как найти до восьми кругов, которые касаются трех заданны...

26 10 2019 3:23:55

Открытие нового окна в JavaScript

Вы можете использовать JavaScript для запуска нового окна. Метод window.open(), который позволяет открыть новое окно браузера без перехода от текущей стран...

25 10 2019 9:23:52

Числовые выражения, введенные пользователем в C#

В этом примере показан один способ оценки математических выражений, введенных пользователем во время выполнения. Введите числовое выражение, включающее x и...

24 10 2019 20:23:51

Рисуем деревья вертикально или горизонтально в C#

Пример Обработать общие события мыши TreeNode в C# показывает, как создать общий класс узлов, который может рисовать деревья с узлами, которые содержат что...

23 10 2019 15:25:12

Выделение текста в программе WPF с использованием C#

Обычно для отображения текста в WPF вы используете какой-то объект, такой как Label или TextBlock, но при необходимости вы можете нарисовать текст самостоя...

22 10 2019 3:53:18

Самые популярные и востребованные языки программирования в 2018 году

Какие самые популярные и востребованные языки программирования в 2018 году? Программирование является одной из самых перспективных сфер деятельности в наше время. Человечество все больше погружается...

21 10 2019 18:41:49

Метод time.sleep() в Python

Метод python sleep(), используемый для приостановки выполнения для заданного времени (в секундах). Мы можем использовать функцию ожидания python, чтобы ост...

20 10 2019 16:44:22

Длина строки в C#

Свойство Length в String Class возвращает общее количество символов в String. Синтаксис: int string.length Возвращает: Целое число: количество символов в у...

19 10 2019 9:20:47

Разрешить ограниченный выбор CheckBox в C#

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

18 10 2019 15:18:38

Как использовать блокировки в Java

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

17 10 2019 5:50:36

Преобразование двоичного числа в десятичное в C#

В этой статье мы напишем программу на C# для выполнения преобразования из двоичного числа в десятичное. Вывод:  ...

16 10 2019 22:10:53

Потоки (Threading) в Python

Что такое поток? Поток исполнения является наименьшим последовательность запрограммированных инструкций , которые могут управляться независимо друг от друг...

15 10 2019 21:40:59

Связать массивы и списки в C#

Один из способов отображения элементов в массиве в ListBox состоит в том, чтобы перебирать элементы и добавлять их в ListBox по одному, но есть более прост...

14 10 2019 19:25:56

Как сделать изображение прозрачным фоном в C#

Метод Bitmap класса MakeTransparent изменяет все пиксели с заданным цветом на прозрачный цвет A = 0, R = 0, G = 0, B = 0 Когда программа запускается, следу...

13 10 2019 8:27:23

Сортировка слов по количеству букв в C#

В этом примере сортируются слова по количеству букв. Он подсчитывает количество отдельных букв в списке слов и отображает слова и их подсчеты, отсортирован...

12 10 2019 11:57:44

Добавление метода расширения в класс Graphics в C#

По какой-то странной причине метод DrawRectangle класса Graphics не может принимать параметр RectangleF в качестве параметра. Он может принимать значения R...

11 10 2019 17:27:11

Запустите приложение DOS и запишите его вывод в C#

Этот код создает объект ProcessStartInfo для хранения информации о процессе, который он должен запустить. Затем он создает объект Process, устанавливает ег...

10 10 2019 12:31:10

Turbo Pascal: Учебник (С. А. Немнюгин)

Цель данного учебного курса - обучить программированию на Паскале, точнее, на том его расширении, которое было создано фирмой Borland и называется Турбо Па...

09 10 2019 8:55:53

Выполнить анимацию свойств Windows Forms в C#

Изменение свойств элемента управления со временем называется анимацией свойств. Отслеживание того, где свойства элемента управления, например, его положени...

08 10 2019 8:17:40

Обработка событий изменения значения NumericUpDown в C#

Сообщение Сделать NumericUpDown использовать десятичные значения в C# показывает, как вы можете сделать десятичные значения для элемента управления Numeric...

07 10 2019 10:30:11

Понимание переходных переменных в Java

Сериализация в Java - это механизм записи состояния объекта в поток байтов, а десериализация - это процесс преобразования потока байтов обратно в копию исх...

06 10 2019 16:51:54

Языки программирования низкого уровня: низкоуровневые языки

Языки программирования низкого уровня или низкоуровневые традиционно появились первыми и в последующем стали базисом для развития всей И Т индустрии....

05 10 2019 15:13:45

Перетаскивание текста в C#

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

04 10 2019 11:37:48

Использование веб-браузера в Python

Модуль webbrowser предоставляет интерфейс высокого уровня, позволяющий пользователям просматривать веб-документы. В большинстве случаев простое вызов функц...

03 10 2019 5:38:13

Загрузите изображение во время выполнения в WPF и C#

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

02 10 2019 19:48:39

Добавить варианты ComboBox во время выполнения в C#

В этом примере вы можете добавить ComboBox варианты, когда пользователь выбирает их во время выполнения. Чтобы отслеживать выбор для будущего использования...

01 10 2019 14:20:24

Как аннотации работают на Java?

Аннотации Java используются для предоставления метаданных для Java-кода, хотя они не являются частью самой программы. Метаданные - это данные о данных. Так...

30 09 2019 0:45:43

Чтение и запись объектов в Java

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

29 09 2019 15:35:29

Как сделать слегка окрашенную кнопку в C#

Сделать отображение кнопки изображение под ним в C# показывает, как заставить кнопку отображать снимок, который лежит под ним. К сожалению, кнопка только д...

28 09 2019 11:41:40

Отображение местного времени и GMT в C#

В этом примере используется Timer для выполнения следующего кода каждые полсекунды. Вначале используется DateTime.Now для получения текущей даты и времени....

27 09 2019 0:18:22

Объясните методы split () модуля «re» в Python

Модуль «re» в Python обеспечивает операции согласования регулярных выражений, аналогичные тем, которые были найдены в Perl. Оба шаблона и строки для поиска...

26 09 2019 10:35:27

Новая большая книга CSS (Дэвид Макфарланд)

Технология CSS3 позволяет создавать профессионально оформленные сайты, но тонкости этого языка могут оказаться довольно сложными даже для опытных веб-разра...

25 09 2019 10:56:38

Что делает ключевое слово yield в Python?

Если компилятор определяет ключевое слово yield внутри функции, эта функция больше не возвращается через оператор return. Вместо этого он немедленно возвра...

24 09 2019 1:25:48

Отображать образцы форматов для разных локалей в C#

При запуске программы выполняется следующий код. Этот код сначала создает значения float, decimal и DateTime. Затем он перебирает объекты CultureInfo, возв...

23 09 2019 20:59:34

TreeMap в Java

Класс TreeMap реализует интерфейс карты, аналогичный классу HashMap. Он сохраняет свои записи в порядке возрастания, отсортированные в соответствии с естес...

22 09 2019 9:50:28

JavaScript: логические операторы

  AND оператор: & & OR оператор: || NOT оператор: ! Логические операторы обычно используются с логическими (логическими) значениями. Когда они...

21 09 2019 18:57:41

Преобразование файлов RTF и TXT в файлы DOCX в C#

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

20 09 2019 11:28:34

Как ClassLoader работает на Java?

Java Classloader является частью JRE (Java Runtime Environment), которая динамически загружает классы Java в JVM (виртуальная машина Java). В частности, Ja...

19 09 2019 7:10:41

Как создать файл в Java

Класс File имеет три конструктора и ряд полезных методов. Ниже перечислены три конструктора: Для создания файла используйте метод File.createNewFile(). Это...

18 09 2019 3:53:47

Как открыть и прочитать URL-адрес в Java

Чтение с URL-адреса так же просто, как чтение из входного потока. URL - это аббревиатура Uniform Resource Locator. Java-программы, которые взаимодействуют...

17 09 2019 0:14:29

Подтвердить форму в C#

Пример Использование события Validating в C# объясняет, как вы можете использовать обработчик событий Validating, чтобы проверить значение поля, когда фоку...

16 09 2019 15:35:24

Метод Contains() в Java

Java String contains()- метод чтобы проверить, содержит ли String указанную последовательность символов. Этот метод возвращает логический тип данных, котор...

15 09 2019 2:15:39

Разница между Java и JavaScript?

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

14 09 2019 12:15:41

Циклы в Java Примеры и синтаксис

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

13 09 2019 12:31:24

Удалите нецифровые или не-буквы из строки в C#

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

12 09 2019 9:23:51

Нарисуйте треугольник Серпинского в C#

В этом примере показано, как нарисовать треугольник Серпинского. Сообщение Нарисуйте прокладку Sierpinski на C# показывает довольно странный итеративный сп...

11 09 2019 20:41:47

Как определить тип экземпляра и наследование в Python

Метод isinstance() проверяет, является ли объект экземпляром класса, тогда как метод issubclass() запрашивает, является ли один класс подклассом другого кл...

10 09 2019 1:32:47

Список USB-устройств в C#

Эта программа использует WMI (инструментарий управления Windows) для запроса на устройства USB. Чтобы использовать WMI, добавьте ссылки на System.Managemen...

09 09 2019 15:50:11

Создайте библиотеку кнопок XAML в C#

В этом примере показано, как можно создать библиотеку кнопок XAML с возможностью повторного использования в WPF. Пример Создание шаблона кнопки WPF в C# ис...

08 09 2019 3:58:44

Координаты чертежа карты без искажений в C#

Сообщение Легко отображать координаты чертежа в C# позволяет вам легко сопоставить прямоугольник при рисовании координат прямоугольника в координатах устро...

07 09 2019 16:55:24


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69