我是一名Python初学者,试图解决一个有关图像操作的练习。该练习说:编写一个函数,将图片作为元组列表(每个元组有三个表示RGB颜色的值)并修改它,以给定顺序绘制列表中的所有正方形
列表中的每个元素都是一个tuble,由以下元素组成:
(x,y,side,(color))
x,y=要在图片中绘制的正方形的位置 l=要绘制的正方形的长度(以像素为单位) 颜色=RGB颜色,描述为三个值的元组,指示要绘制的正方形的颜色
我知道如何在一幅画上画一个正方形。问题是,我不知道如何使用单个函数绘制多个正方形,而不需要多次调用它
import immagini
def disegna_quadrato (imm,x,y,l,colore):
h,w = len(imm),len(imm[0])
for i in range(y,y+l):
for j in range(x,x+l):
if i<h and j< w:
imm[i][j]=colore
def disegna_quadrati(imm,lista):
for a in lista:
for b in a:
imm[a][b] = disegna_quadrato()
if __name__== '__main__':
imm = immagini.load('fiore.png')
im1 = disegna_quadrati (imm,[(20,20,40,(255,255,255)), (30,30,30,(180,180,180)), (40,40,20,(100,100,100))])
immagini.save(imm,'fiore-squares.png')
正如您在我的代码中所看到的,第一个函数disigna_quadrato拍摄一张图片、几个值并绘制一个正方形。我想通过调用disigna_quardi函数来绘制列表中的正方形
我不知道使用两个函数是否是个好主意
任何帮助都将不胜感激
使用两个函数是个好主意!
继续你的想法,在第二个函数中调用第一个函数时,向它发送参数。
在这里,您可以这样做:
您不需要在
a
上循环,所有信息都会一起使用一次也许我不太了解你的问题。如果有,请告诉我
如果您有任何问题,请随时提问
相关问题 更多 >
编程相关推荐