在画图应用 c# 中保存图像
本文关键字:保存 图像 应用 | 更新日期: 2023-09-27 17:57:09
我正在开发一个简单的绘画应用程序。除了保存之外,我让一切正常。我正在面板内进行所有油漆操作。我需要将其另存为图像。怎么做?
使用此代码
Bitmap bmp = new Bitmap(panel1.Width, panel1.Height);//to create bmp of same size as panel
Rectangle rect=new Rectangle(0,0,panel1.Width,panel1.Height); //to set bounds to image
panel1.DrawToBitmap(bmp,rect); // drawing panel1 imgae into bmp of bounds of rect
bmp.Save("C:''a.png", System.Drawing.Imaging.ImageFormat.Png); //save location and type
下面是绘画应用程序的一个很好的例子:1) WPF2) 赢形
像这样:
public void SaveAs()
{
SaveFileDialog diag = new SaveFileDialog();
DialogResult dr = diag.ShowDialog();
if (dr.Equals(DialogResult.OK))
{
string _filename = diag.FileName;
// filename not specified. Use FileName = ...
if (_filename == null || _filename.Length == 0)
throw new Exception("Unspecified file name");
// cannot override RO file
if (File.Exists(_filename)
&& (File.GetAttributes(_filename)
& FileAttributes.ReadOnly) != 0)
throw new Exception("File exists and is read-only!");
// check supported image formats
ImageFormat format = FormatFromExtension(_filename);
if (format == null)
throw new Exception("Unsupported image format");
// JPG images get special treatement
if (format.Equals(ImageFormat.Jpeg))
{
EncoderParameters oParams = new EncoderParameters(1);
oParams.Param[0] = new EncoderParameter(
System.Drawing.Imaging.Encoder.Quality, 100L);
ImageCodecInfo oCodecInfo = GetEncoderInfo("image/jpeg");
yourImage.Save(_filename, oCodecInfo, oParams);
}
else
yourImage.Save(_filename, format);
}
}
如果你使用的是wpf,你可以看看RenderTargetBitmap。它可以将任何视觉对象渲染成位图,然后您可以使用 awnser 保存@danyogiaxs位图。
-编辑-
我也找到了这个SO帖子在Winforms上做同样的事情