2014-10-29 3 views
0

У меня есть изображение типа 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); 

ответ

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; 
+0

Спасибо это работает .. – Ola

Смежные вопросы