Sto provando a disegnare linee parallele diagonalmente dall'angolo in alto a destra all'angolo in basso a sinistra di un'immagine. Voglio farlo sembrare come questo (pic bella vernice)Disegno di linee diagonali attraverso un'immagine
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)
Noterete che il x3 o sarà il valore massimo, causando un'eccezione gamma outof, o l'intervallo y volontà inizia con un valore più alto, cioè (y3> y4) e non funziona al contrario, o quando lo decremento. È come un paradosso.
Il primo ciclo funziona, non importa quello che cerco Non riesco a far funzionare il secondo ciclo. Questo è quello con cui sto finendo.
Tutte le idee? Grazie.
Modifica
Ho giocato intorno con gli intervalli, e sia ottenere nessun risultato per il secondo anello, come mostrato sopra di un'eccezione di gamma.
ho provato:
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
Stola Unicorns from here.
si ottiene un errore? o semplicemente non viene visualizzato – sihrc