我有byte[]
类型的图片。我在datagridview单元格中设置了这张图片。我现在可以看到它,但它太大了。我想在这个单元格中重新调整这张图片。我怎么能这样做?
这是我创建列并以字节数组设置图片的代码:
// player picture column
string propPlayerPicture = "PlayerPicture";
table.Columns.Add(propPlayerPicture, typeof(byte[]));
// set playerPicture, noted that GetPlayerPictureAsync returns a byte array
row[propPlayerPicture] = await GetPlayerPictureAsync(auctionInfo);
答案 0 :(得分:1)
您可以先将字节数组转换为Image
并将其调整为适当的大小,然后再将其设置为datagridview单元格。
int maxwidth = 100;
int maxheight = 100;
//convert to full size image
ImageConverter ic = new ImageConverter();
Image img = (Image)(ic.ConvertFrom(bytearray)); //original size
if (img.Width > maxwidth | img.Height > maxheight) //resize if it is too big
{
Bitmap bitmap = new Bitmap(maxwidth, maxheight);
using (Graphics graphics = Graphics.FromImage((Image)bitmap))
graphics.DrawImage(img, 0, 0, maxwidth, maxheight);
img = bitmap;
}
然后
row[propPlayerPicture] = img;