byte[] buffer = (byte[])dataRow["Picture"]; //从数据库读到的图片
MemoryStream s = new MemoryStream(buffer, 0, buffer.Length); //转换为数据流
Bitmap photo = new Bitmap(s);
int _thumbnailSize = 160; //定义显示图片大小
int width, height; //定义图片宽度和高度
//如果原图片的宽度与高度都小于定义显示图片大小
if (photo.Width < _thumbnailSize && photo.Height < _thumbnailSize)
{
width = photo.Width; //宽度等于原宽度
height = photo.Height;//高度等于原高度
}
//如果原图片宽度大于原图片的高度
else if (photo.Width > photo.Height)
{
width = _thumbnailSize; //宽度等于定义图片尺寸
height = photo.Height * _thumbnailSize / photo.Width; //高度做相应比例缩小
}
//如果原图片高度大于原图片的宽度
else
{
width = photo.Width * _thumbnailSize / photo.Height; //宽度做相应比例缩小
height = _thumbnailSize; //高度等于定义图片大小
}
Bitmap target = new Bitmap(width, height);
转载于:https://blog.51cto.com/1167275/553017