首页 > 解决方案 > 如何以 RectangleF 为边界裁剪位图

问题描述

我正在尝试使用我拥有的 RectangleF 边界裁剪某个图像。以下代码在使用 UIImage 作为源的 iOS(满足我的需要)中效果很好:

//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 中为 Bitmaps 提供同样的功能。

我尝试了以下方法,但没有达到预期的结果:

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

欢迎所有想法!

标签: androidiosxamarinbitmap

解决方案


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

推荐阅读