2011-05-13 5 views
0

다른 질문이 있는데, 이것은 또한 여분의 학점과 숙제가 아닙니다. 이번에는 java2d를 사용하여 경계선을 작성해야합니다. 지침은 ... 그래픽 패키지를 사용하지 않는 6 개의 매개 변수가있는 drawRectangleBorder라는 메서드를 작성합니다. 첫 번째 두 매개 변수로 주어진 x 및 y 좌표에서 시작하는 사각형 테두리를 그립니다. 세 번째 및 네 번째 매개 변수에 의해 지정된 너비와 높이, 여섯 번째 매개 변수에 의해 지정된 색의 다섯 번째 매개 변수에 의해 지정된 테두리의 너비 . 매개 변수 목록은 다음과 같습니다. x, y, width, height, borderWidth, color그림 그리기에 대한 질문 java2D

이전에 사용한 방법을 사용하여 그림 바깥쪽에 테두리를 만들었지 만 이제는 할 수있는 최선의 방법은 몇 군데입니다. 상자. 최신 버전에는 아무 것도 표시되지 않습니다

public void drawRectangleBorder(
     int x, int y, int width, int height, int border, Color newColor) { 
    int startX = 0; 
    int startY = 0; 

    // top and bottom 
    for (startX = x; x < width; x++) { 
     for (startY = y; y < border; y++) { 
      // top pixel 
      this.getPixel(startX, startY).setColor(newColor); 
      // bottom pixel 
      this.getPixel(startX + width, startY + height).setColor(newColor); 
     } // for-y 
    } // for-x 

    // left and right 
    for (startX = x; x < border; x++) { 
     for (startY = y; y < height; y++) { 
      // left pixel 
      this.getPixel(startX, startY).setColor(newColor); 
      // right pixel 
      this.getPixel(startX + width, StartY + height).setColor(newColor); 
     } // for-y 
    } // for-x 

    return; 
} // end drawRectangleBorder 

다시 한번 입력 해 주셔서 감사합니다.

+0

같은 내가 ^^ 여분의 신용은 여전히 ​​숙제로 분류 생각 (내가 무슨 도움이되지 않습니다 게시 아무도 다른 것은 구조 운항하는 경우에 할 수있는 당신은 조금 더 당신이 객체가 무엇인지 세부 사항) –

+0

는 무엇인가 '이'? – trashgod

+0

"this"는이 방법이 적용되는 그림입니다. 즉 pic1.drawRectangleBorder (1,2,3,4,5,6) 또는 pic2.drawRectangleBorder (1,2,3,4,5,6)입니다. – Doug

답변

0

java.awt.BufferedImage의 픽셀은 here과 같이 변경할 수 있습니다. 당신이 할 수 있도록

0

내가 너무 졸린 수 있습니다하지만 난 당신의 망각이로 다시 픽셀을 설정하는 생각 (이것은 무엇이든 ^^) 내가 this.getPixel 같은데요

는 다시 사본을 전송

Pixel p = this.getPixel(startX, startY); 
p.setColor(newColor); 
this.setPixel(startX, startY, p); 
+0

메소드 호출 바로 앞에'this'가 필요하지 않습니다. 아무것도 의미하지 않습니다. –

+0

@Steve Kuo :이 경우 문제의 'this'가 무엇인지에 대한 자리 표시 자라고 생각합니다. 아마도 [WritableRaster']에 대한 강사 제공 래퍼 (http://download.oracle.com/javase /6/docs/api/java/awt/image/WritableRaster.html). – trashgod

+0

@Steve Kuo : 질문에만 쓰여진 것이기 때문에 나는 이것을 넣었습니다 ^^ –

관련 문제