2014-01-29 40 views
1

我有功能,其将创建缩略图图像:转换位图数据转换成所述图像标签格式

Image photo=System.Drawing.Image.FromStream(myFile.InputStream); 

Bitmap bmp = new Bitmap(100, 100); 
Graphics graphic = Graphics.FromImage(bmp); 
graphic.InterpolationMode = InterpolationMode.HighQualityBicubic; 
graphic.SmoothingMode = SmoothingMode.HighQuality; 
graphic.PixelOffsetMode = PixelOffsetMode.HighQuality; 
graphic.CompositingQuality = CompositingQuality.HighQuality; 
graphic.DrawImage(photo, 0, 0, 100, 100); 

BMP图像将是位图格式。
如何转换它,以便我分配图像标签并在页面上显示?

回答

1

您可以通过以下方式返回字节数组。

MemoryStream stream = new MemoryStream(); 
bmp.Save(stream, ImageFormat.Jpeg); 
Byte[] buffer = new byte[0]; 
buffer = stream.ToArray(); 
return buffer; 

并使用通用处理程序,您可以在图像标记中显示此数据。

0

我从建一些想法的一个片段,这个完美的作品:

Bitmap original = new Bitmap(@"C:\path\img.jpg"); 
Rectangle srcRect = new Rectangle(0, 0, 100, 100); 
Bitmap cropped = (Bitmap)original.Clone(srcRect, original.PixelFormat); 
byte[] imgbytes;  
using (MemoryStream stream = new MemoryStream()) 
{ 
     cropped.Save(stream, System.Drawing.Imaging.ImageFormat.Png); 
     imgbytes = stream.ToArray(); 
} 
<img src="@String.Format("data:image/png;base64,{0}", Convert.ToBase64String(imgbytes))" /> 

在矩形的偏移量为(0,0)和农作物100×100像素从一部开拓创新。