如果我有一张带有alpha通道的QImage,如何创建一个新的QImage,该图像被裁剪为不透明区域的边界框?
如果我有一张带有alpha通道的QImage,如何创建一个新的QImage,该图像被裁剪为不透明区域的边界框?
def bbox(p):
bounding-box-of-an-image
l = p.width()
t = p.height()
r = 0
b = 0
for y in range(p.height()):
rowFilled = False
for x in range(p.width()):
if qAlpha(p.pixel(x, y)):
rowFilled = True
r = max(r, x)
if l > x:
l = x
if rowFilled:
t = min(t, y)
b = y
return QRect(QPoint(l, t), QPoint(r, b))
但如果有更好/更快的方法来做这件事,那就太棒了。