全栈工程师开发手册 (作者:栾鹏)
c#读取、生成图片,文件与Bitmap间的转换
测试代码
static void Main()
{
Bitmap b = file2img("11.jpg"); //读取图片
img2file(b, "1111.jpg"); //存储图片
}
实现代码
//图片读取
public static Bitmap file2img(string filepath)
{
Bitmap b = new Bitmap(filepath);
return b;
}
//图片生成
public static void img2file(Bitmap b, string filepath)
{
b.Save(filepath);
}
//生成图片设置质量和格式参数
public static void img2file(Bitmap b, string filepath, ImageCodecInfo myImageCodecInfo, EncoderParameters myEncoderParameters)
{
//ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/jpeg");
//System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
//EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L);
//EncoderParameters myEncoderParameters = new EncoderParameters();
//myEncoderParameters.Param[0] = myEncoderParameter;
b.Save(filepath, myImageCodecInfo, myEncoderParameters);
}
private static ImageCodecInfo GetEncoderInfo(String mimeType)
{
int j;
ImageCodecInfo[] encoders;
encoders = ImageCodecInfo.GetImageEncoders();
for (j = 0; j < encoders.Length; ++j)
{
if (encoders[j].MimeType == mimeType)
return encoders[j];
}
return null;
}