Как обрезать растровое изображение с помощью RectangleF в качестве границ

#android #ios #xamarin #bitmap

#Android #iOS #xamarin #растровое изображение

Вопрос:

Я пытаюсь обрезать определенное изображение с помощью имеющихся у меня границ RectangleF. Следующий код отлично работает в iOS (для моих нужд), используя UIImage в качестве источника:

 //Crop a certain rectangle of your image
UIImage CropImage(UIImage srcImage, RectangleF rect)
{
   using (CGImage cr = srcImage.CGImage.WithImageInRect(rect))
   {
       UIImage cropped = UIImage.FromImage(cr);
       return cropped;
   }
}
  

Я хотел бы иметь такую же функцию для растровых изображений в Android.

Я попробовал следующее, но не с ожидаемым результатом:

 //Crop a certain rectangle of your image
Bitmap CropImage(Bitmap srcImage, RectangleF rect)
{ 
    return Bitmap.CreateScaledBitmap(srcImage, (int)rect.Width,   
    (int)rect.Height, false);  
}
  

Все идеи приветствуются!

Ответ №1:

 // bmp - source bitmap
// x, y = origin for crop
// w, h = size of cropped image
return Bitmap.CreateBitmap(bmp, x, y, w, h);