Re[3]: Как скопировать часть картинки
От: sus  
Дата: 11.05.06 12:18
Оценка:
Разобрался сам после более вдумчивого чтения MSDN. На всякий случай — правильный ответ.

  imgList1.ImageSize = new Size(50, 50);
  System.Drawing.Image img = System.Drawing.Image.FromFile("Black and White.bmp");
  Rectangle section = new Rectangle(0, 0, 50, 50);
  System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(section.Width, section.Height);
  Graphics g = Graphics.FromImage(bmp);
  g.DrawImage(img, section, 0, 0, section.Width, section.Height, GraphicsUnit.Pixel);
  // вместо:
  // g.DrawImage(img, 0, 0, section, GraphicsUnit.Pixel);
  imgList1.Images.Add(bmp);

Дело в том, что использованная в первом случае функция использовала разрешение изображения из файла (72dpi) при выводе на экран с другим разрешением (96dpi). При использовании указанной функции — происходит перемасштабирование изображения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.