java有没有办法在ImageView中找到图像可见部分的大小?
我在寻找一种方法来找到图像中可见部分的尺寸。我在我的ImageView
中显示的图像是。png格式,它有一部分是“可见”的,其余部分是不可见的背景
示例图像:
←那个框在真实图像上不可见,只是为了说明我的观点
因此,在这张图片中,只有一个小的红色楔形可见,但完整的。png实际上是一个更大尺寸的矩形,因此我不能使用bitmap.getWidth();
所以:
- 如何确定图像中的特定像素是否“不可见”?注意:我知道我可以使用
bitmap.getPixel(x, y);
来获得一个像素,但一旦我有了它,我不知道该怎么办;测试0是否足够李> - 除了遍历每个像素寻找可见的“端点”,还有没有更好的方法找到“可见”部分的最大宽度/高度李>
# 1 楼答案
如何确定图像中的特定像素是否“不可见”?注:我知道我可以使用位图。getPixel(x,y);为了得到一个像素,但我不知道一旦有了它该怎么办;测试0是否足够
使用
image.getPixel(x, y) != Color.TRANSPARENT
检查像素是否可见除了遍历每个像素寻找可见的“端点”,还有没有更好的方法找到“可见”部分的最大宽度/高度
没有内置的功能。您可以使用下面的函数来获得正方形的图像,而不使用透明像素
确保你的图像不仅仅包含透明像素。如果图像只有透明像素,则语句
Bitmap.createBitmap(image, x1, y1, width, height);
将通过异常