我正在嘗試從圖片的右上角向左下角對角繪製平行線。我希望它看起來像這樣(迷人的油漆PIC)在圖片上繪製對角線
def diagTopLBottomR():
pic=makePicture(pickAFile())
w=getWidth(pic)
h=getHeight(pic)
x1=0
y1=0
x2=0
y2=0
i=0
while i<11:
x1=10*i
y2=10*i
i+=1
for y in range (y1,y2):
x = (y-y1)*(x2-x1)/(y2-y1) +x1
px=getPixel(pic,x,y)
color=makeColor(0,0,0)
setColor(px, color)
x3=0
y3=h
x4=w
y4=0
j=0
while j<10:
x3=10*j
y4=10*j
j+=1
for y in range (y3,y4):
x = (y-y3)*(x4-x3)/(y4-y3) +x3
px=getPixel(pic,x,y)
color=makeColor(0,0,0)
setColor(px, color)
return(pic)
你會注意到的X3要麼是最大值,引起outof範圍的異常,或y範圍將從一個更高的值開始,即(y3> y4),並且不反轉,或者當它遞減時。這就像一個悖論。
第一個循環正在工作,無論我嘗試什麼,我都無法獲得第二個循環的工作。這就是我最終的結果。
任何想法?謝謝。
編輯
我與範圍周圍演奏,並且或者沒有得到結果爲第二回路,如圖上述超出範圍的異常的。
我曾嘗試:
x3=0
y3=h
x4=w
y4=0
j=0
while j<10:
x3=10*j
y4=10*j
j+=1
for x in range (x3,x4):
y = (x-x3)*(y4-y3)/(x4-x3) +y3
偷獨角獸from here。
你得到一個錯誤?或者它只是不顯示 – sihrc