如何“拉开”一箱使用PIL图像中

问题描述 投票:0回答:1

从本质上讲,我有周围绘制,其中一个小盒子的功能的图像上的用户点击,通过使用在PIL的ImageDraw.Draw.rectangle方法。它的伟大工程,但问题是,我需要的能力,这样,当用户点击新的盒子里面,它应该被删除。然而,由于盒成为图像的一部分,我不能这样做。

有没有解决这个办法?有PIL的外库,将简化这个过程?

谢谢!

python python-3.x image python-imaging-library
1个回答
1
投票

要做到这一点的方法之一是让你的基础,背景图像的原始的,未标注的副本,并保持注释的列表(这是我给你打电话提广场什么的),就像这样:

  • 正方形,黑色,10,10,20,20
  • 广场,红色,100,110,200,210
  • 圆形,绿色,50,50,25
  • 长方形,蓝色,30,30,40300

然后,每次时间重新绘制屏幕,​​把你的背景图像和循环的副本通过注释绘制每一个在列表中。

当谈到时间进行删除,浏览清单,并删除与最近的中心进入,并重新绘制屏幕。

你可以结合了@ Mika72的在评论中建议这种方法。所以,你将有你原来的,干净的形象,并为您的叠加单独的图像是相同的大小,开始时为空纯粹的透明画布。画出你的注释(正方形和矩形)到该层作为用户点击次数和每次的时间重新绘制屏幕,​​复合材料在原图片的注释层。现在您只需通过注释和列表迭代重新绘制他们时,一个被删除,因此重新油漆会更快。


另一种选择是“橡皮条”通过与异或绘图,请参阅回答here

© www.soinside.com 2019 - 2024. All rights reserved.