2016-06-13 2 views
0

저는 학교에서이 연습을했습니다. 기존 이미지에 그리드를 그리는 함수를 만듭니다. draw_grid (IMG, S, C) IMG - 이미지 S - 난 단지 수평 라인을 생성하는 코드가 컬러파이썬에서 이미지 격자 그리기

def draw_grid(img, s, c): 
     a = s 
     b = s 
     for i in range(len(img)): 
      for j in range(len(img[0])): 
       if i == a: 
        img[i][j] = c 
      if img[i][j] == c: 
       a = a + s 
     for i in range(len(img)): 
      for j in img[i]: 
       if img[i].index(j) == b: 
        img[i][img[i].index(j)] = c 
        b = b + s 
     im.visd(img) 
    import image as im 
    img = im.create(200, 100, (200,200,200)) 

- 라인 C의 간격.

this is what i`ve got so far:

+0

'작동하지 않음'은 유효한 문제 설명이 아닙니다. 그리고 저는 도서관입니까? 그렇다면 태그를 추가하십시오. – polku

+0

im은 이미지 라이브러리입니다. 방금 추가했습니다. 새로운 설명이 괜찮 으면 좋겠다. 나는이 점에서 새로운면이있다. – Doni

답변

0

나는 당신의 문제가 if img[i].index(j) == b:과 생각, 색인 목록에서 인수가 최초로 출현하는 위치의 인덱스를 반환하지만, j는 이미 당신이 찾고있는 인덱스, 그리고 요소해야한다 당신의 이미지에서.

귀하의 루프

이 너무 복잡한 것, 당신은 A, B 또는 필요하지 않는 당신이 3 개 인수 범위를 사용하는 경우, 세 번째 인수는 증가하는 단계이다 '가': 그래서 당신은

for i in range(0, 10, 2): 
    print(i) # print 0, 2, 4, 6, 8 

for i in range(0, len(img), s): 
    for j in range(len(img[0])): 
     img[i][j] = c 
for i in range(0, len(img[0]), s): 
    for j in range(len(img)): 
     img[j][i] = c 
+0

타이! 대단한 선생님. 이제 2 일 동안이 작업을하고 있었고 나는 결코 그와 같은 범위()를 사용할 수 없다는 사실을 알지 못한다고 믿습니다. 다시 타이. – Doni