Bitmap.createBitmap(bitmap, x,y,width,height) 的正确偏移

Posted

技术标签:

【中文标题】Bitmap.createBitmap(bitmap, x,y,width,height) 的正确偏移【英文标题】:Correct offset for Bitmap.createBitmap(bitmap, x,y,width,height) 【发布时间】:2017-05-03 07:32:17 【问题描述】:

我无法为我的方形裁剪位图设置正确的偏移量。我通过设置相等的宽度和高度成功地将图片裁剪成正方形,但我还需要从某个 y 偏移量开始裁剪它。我有一个 X 高度的相对布局,我希望它是偏移量,以便正方形将 X 顶部像素排除在外。 我希望你能帮助我!

编辑:澄清我的意图的一个例子: 例如,有一张男人站着的图片,他的头是 400px,然后我希望新的位图有没有头的人,从下面的 400px 开始。

【问题讨论】:

【参考方案1】:

这个问题有点不清楚,但不应该简单:y = offset * (sourceHeight - destHeight) 工作吗? (其中偏移量在 0.0 和 1.0 之间,0.0 对齐顶部,1.0 对齐底部,0.5 对齐中心)

【讨论】:

我只想从图片顶部删除第一个(宽度 * Y)像素。例如,有一张男人站着的图片,他的头是 400px,然后我希望新的位图有没有头的人,从下面的 400px 开始。 source 和 destHeight 代表什么?我有图片的高度和“我要剪掉的部分”的高度。 我就是这样,sourceHeight 是您要放置的图像的高度,而 destHeight 是您要放置的目标区域的高度。

以上是关于Bitmap.createBitmap(bitmap, x,y,width,height) 的正确偏移的主要内容,如果未能解决你的问题,请参考以下文章

Android 获取View的Bitmap

Bitmap.createBitmap(bitmap, x,y,width,height) 的正确偏移

Bitmap.createBitmap创建的新bitmap可能与原始bitmap是一个对象

Bitmap.createBitmap 导致内存溢出的考虑

Bitmap.createBitmap 导致内存溢出的考虑

Android Bitmap