Преобразование метафайла в 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-файл, сохраняются любые прозрачные пиксели.
