找到图像的最小可视矩形的尺寸。

3

使用Java图像,我如何找到图像的最小可视矩形。在这里,我认为alpha/透明像素是不可视的。我想找到尺寸,以便可以执行图像的自动裁剪。我希望以图像中性的方式来实现这一点,但如果不可能,则使用PNG。


"图像的最小可视矩形"。那么动画GIF呢?可视区域可能会随着帧的变化而改变。 - Andrew Thompson
1个回答

4
假设您不想裁剪任何一个“可视”像素,我建议使用以下算法:
逐个像素地扫描最上面的水平线。如果该行中没有可视像素,则继续向下移动到第二行,以此类推,直到找到具有可视像素的行。
对于底部也是同样的方法,向上移动,并且对于两侧也是向内移动。
完成所有四个步骤后,您将知道可以从图像的每个边缘裁剪多少行像素。

是的,这就是我会做的,只是想知道如何以格式中立的方式判断像素是否透明。 - ng.
1
查看与像素相关的BufferedImage方法,可以发现它返回一个Color或表示颜色的整数。查看Color的方法,可以看到它们有接受整数的构造函数,以及告诉透明度的方法。或者更直接地说,RTFM。 - Andrew Thompson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接