现在我已经使用pyqt5创建了一个带有两个大标签的界面,并且我已经使用这些标签来显示图像,以便为我的项目获得像插图一样的动画。下图显示了pyqt界面,该界面将两个图像保存在两个标签中。
我现在要做的是将这些实例另存为图像,然后使用它们作为帧来创建动画。现在,我正在使用相同的功能来创建其他图像。由于给定的拼图块输入列表,两个图像变得不同。由于pyqt的扩展功能,第二个图像的大小很大。
以下代码是我用来创建图像的功能。这可能并不完整。但这对这个问题并不重要。
def make_img(results, puzzle):
final = Image.new('RGBA', (165 * COL_NUM, 165 * ROW_NUM))
# border = 100
keys = list(results.keys())
for i in keys:
piece = puzzle[results[i]]
image = piece.img
corners = piece.corners
pos = piece.pos
# print("shape :",np.asarray(image).shape)
w = np.asarray(image).shape[0]
image = cv2.cvtColor(np.asarray(image), cv2.COLOR_RGB2RGBA)
cv2.putText(image, str(results[i]), (int(w / 2), int(w / 2)), cv2.FONT_HERSHEY_PLAIN, 2, (0, 0, 255), 2)
image[np.all(image == [0, 0, 0, 255], axis=2)] = [0, 0, 0, 0]
corner0 = corners[0]
x = pos[0] - corner0[0]
y = pos[1] - corner0[1]
img = Image.fromarray(np.uint8(image))
final.paste(img, (x, y), img)
imageBox = final.getbbox()
cropped = final.crop(imageBox)
return cropped
我想通过将图像的这两个部分放在一起来保存最后一帧。
是否可以创建大的空白图像。然后将这两个部分(可能还会有其他一些部分)放到预定义的部分中,并在该部分中具有展开和居中功能。