我遇到了一个简单的图片查看器问题。您会看到我希望将用户选择的图片放大或缩小,具体取决于图片的宽度和高度。因此,1920 x 1080的图片会缩小到可管理的尺寸,但40 x 40的图片看起来足够大,可以清晰地看到。Python自动缩放算法?
这个比例因子我最好喜欢在一个单独的变量,并没有使用IF语句,因为做IF pic_h> 100:等等......你明白了。
这里是我在哪里:
for x in range(int(pic_w)):
xline = target.readline()
for y in range(int(pic_h)):
pixel_data = xline[y:y+1]
sf = <THIS IS THE BIT I NEED>
y1b = (y*2)+0
x1b = (x*2)+0
y2b = (y*2)+2
x2b = (x*2)+2
y1w = (y*2)+0
x1w = (x*2)+0
y2w = (y*2)+2
x2w = (x*2)+2
if pixel_data == "1":
pixel = canvas.create_rectangle(y1b, x1b, y2b, x2b, fill="black")
elif pixel_data == "0":
pixel = canvas.create_rectangle(y1b, x1b, y2b, x2b, fill="white")
else:
blah blah blah ............
的可变因素pic_h和pic_w在图象的高度和宽度。
有这许多解决方案,但你可以尝试什么是您使用的GUI工具包'SF = MAX(100/pic_w,100/pic_h)'对于初学者 – Selcuk
?如果你正在做我认为你正在做的事,并且这是在Tk中,canvas.create_rectangle将为每个像素创建一个活动对象,这将非常非常缓慢并且内存很大。尝试使用像PIL或ImageMagick这样的库来进行图像操作,以创建一个可以高效传送的单个Bitmap对象。 –
是的这是真的它是在tkinter,我意识到这是非常缓慢,但它是学校的挑战,因此一部分^好主意,但挑战有标准:D –