Я взял код отсюда (SO), который обрезает изображения. Я пробовал это на растровых изображениях, содержащих черный текст на белом шрифте. В результате я получаю полностью белый вывод без содержимого.
// create new bitmap with desired size and same pixel format
Bitmap croppedBitmap = new Bitmap(rect.Width, rect.Height, bitmap.PixelFormat);
// create Graphics "wrapper" to draw into our new bitmap
// "using" guarantees a call to gfx.Dispose()
using (Graphics gfx = Graphics.FromImage(croppedBitmap))
{
// draw the wanted part of the original bitmap into the new bitmap
gfx.DrawImage(bitmap, 0, 0, rect, GraphicsUnit.Pixel);
}
return croppedBitmap;
Есть предположения?
PS если я подрежаю краску, конечно, это работает
редактировать
Если я обрезаю мою фотографию, например, она работает ....
Приложение
Код:
Прямоугольники
Rectangle 1: 8 50, 95, 80, 30 // invoice number
Rectangle 2: 625, 778, 475, 22 // Total amount
CropImage ():
public static Bitmap CropImage(Bitmap bitmap, Rectangle rect)
{
Bitmap croppedBitmap = new Bitmap(rect.Width, rect.Height, bitmap.PixelFormat);
using (Graphics gfx = Graphics.FromImage(croppedBitmap))
{
gfx.DrawImage(bitmap, 0, 0, rect, GraphicsUnit.Pixel);
}
return croppedBitmap;
}
Изображение:
(Конфиденциальные данные скрыты, я оставил только ту часть, которую пытаюсь обрезать)
http://img33.imageshack.us/img33/5703/modelx.png