如何裁剪位图并获得图像的下 50%

Posted

技术标签:

【中文标题】如何裁剪位图并获得图像的下 50%【英文标题】:How to crop bitmap and get the lower 50% of the Image 【发布时间】:2019-07-18 06:58:00 【问题描述】:

我有一张想要裁剪的图片。我已经知道我需要的内容位于图像的下部,那么如何使用 Rectangle 自动裁剪它?

我尝试使用此代码(如下)进行裁剪,但没有帮助。 Rectangle我用的不多,请指导一下。

private Bitmap cropImage(Bitmap img)

    int height= img.Height / 2;
    Rectangle CropArea = new Rectangle(100,height, 1400, 900);
    Bitmap bmpCrop = img.Clone(CropArea, img.PixelFormat);
    return bmpCrop;

裁剪后的图像效果很好,但它是硬编码的。我需要使其动态化,以便为不同的图像提供相同的结果

【问题讨论】:

只使用尺寸? 不太清楚你在问什么。您已经意识到可以通过img.Widthimg.Height 获取图像大小,那么问​​题出在哪里? @John 宽度和高度可能会根据裁剪的图像而改变。我该如何处理? How to crop an image using C#?的可能重复 @TheGeneral 请解释一下 【参考方案1】:

感谢@John 的回答。此代码将削减 50% 的图像并给你它的下半部分:

private Bitmap cropImage(Bitmap img)

    int height= img.Height / 2;
    int newWidth = img.Width -100;
    int newHeight = img.Height - height;
    Rectangle CropArea = new Rectangle(100,height,newWidth,newHeight);
    Bitmap bmpCrop = img.Clone(CropArea, img.PixelFormat);
    return bmpCrop;

【讨论】:

以上是关于如何裁剪位图并获得图像的下 50%的主要内容,如果未能解决你的问题,请参考以下文章

如何从顶部和底部裁剪位图图像?

Android:从位图裁剪位图并设置为 ImageView src

从 ImageView 获取裁剪的图像

将位图图像裁剪为自定义正方形

在 Android 上即时裁剪图像

将位图设置为背景并裁剪它