MemoryStream ms = new MemoryStream(o.Bytes);//o.Bytes 二进制流
ms.Position = 0;
Image img = Image.FromStream(ms);
ms.Close();
Image bitmap = new System.Drawing.Bitmap(40, 40);
Graphics g = System.Drawing.Graphics.FromImage(bitmap);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.Clear(Color.Transparent);
g.DrawImage(img, new Rectangle(0, 0, 40, 40), new Rectangle(0, 0, img.Width, img.Height), GraphicsUnit.Pixel);
MemoryStream mStream = new MemoryStream();
bitmap.Save(mStream, System.Drawing.Imaging.ImageFormat.Jpeg);//可保存到本地的物理路径
byte[] bytes = mStream.ToArray(); // 缩略图的二进制流
mStream.Close();
img.Dispose();
bitmap.Dispose();
g.Dispose();
ms.Position = 0;
Image img = Image.FromStream(ms);
ms.Close();
Image bitmap = new System.Drawing.Bitmap(40, 40);
Graphics g = System.Drawing.Graphics.FromImage(bitmap);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.Clear(Color.Transparent);
g.DrawImage(img, new Rectangle(0, 0, 40, 40), new Rectangle(0, 0, img.Width, img.Height), GraphicsUnit.Pixel);
MemoryStream mStream = new MemoryStream();
bitmap.Save(mStream, System.Drawing.Imaging.ImageFormat.Jpeg);//可保存到本地的物理路径
byte[] bytes = mStream.ToArray(); // 缩略图的二进制流
mStream.Close();
img.Dispose();
bitmap.Dispose();
g.Dispose();
本文介绍了一种使用C#从二进制流中创建并处理JPEG格式图片的方法。该过程包括将二进制流转换为图像对象,调整大小并重新保存为JPEG格式的缩略图。文中展示了如何设置图像质量及如何正确释放资源。
745

被折叠的 条评论
为什么被折叠?



