Преобразование метафайла в PNG-файл в C#
Метафайл (файл WMF) содержит команды рисования, которые сообщают программе, как создавать изображение. Это очень полезно и позволяет изменять размер изображения без создания уродливых эффектов сглаживания, но иногда вам может понадобиться растровое изображение, чтобы вы могли управлять своими пикселями. В этом примере вы можете загружать файлы WMF и сохранять их в виде файлов PNG.
Программа использует следующий код для загрузки WMF-файла.
// Откройте файл WMF. private void mnuFileOpen_Click(object sender, EventArgs e) { if (ofdWmfFile.ShowDialog() == DialogResult.OK) { picImage.Image = new Bitmap(ofdWmfFile.FileName); mnuFileSaveAs.Enabled = true; ClientSize = new Size( picImage.Right + picImage.Left, picImage.Bottom + picImage.Left); } }
В коде отображается FileOpenDialog, чтобы пользователь мог выбрать метафайл. Если пользователь выбирает файл и нажимает «Открыть», программа загружает метафайл в Bitmap и отображает его.
Программа использует следующий код для сохранения загруженного изображения метафайлов в виде файла PNG.
// Сохраним изображение в виде файла PNG. private void mnuFileSaveAs_Click(object sender, EventArgs e) { if (sfdPngFile.ShowDialog() == DialogResult.OK) { Bitmap bm = (Bitmap)picImage.Image; bm.Save(sfdPngFile.FileName, ImageFormat.Png); } }
Этот код отображает SaveFileDialog, чтобы пользователь мог выбрать файл для сохранения изображения. Затем он вызывает метод загруженного bitmap Сохранить, передавая ему имя файла и значение ImageFormat.Png, чтобы указать, что изображение должно быть сохранено в виде файла PNG.
Оба файла WMF и PNG поддерживают прозрачные пиксели. Когда эта программа преобразует WMF в PNG-файл, сохраняются любые прозрачные пиксели.