0
저는 X 축과 Y 축, 그리고 각각 steepest
, average
및 flattest
경사에 대해 하나의 선을 그릴 필요가있는 50x50 픽셀 공간을 가지고 있습니다.제한된 공간에서 경사 선 그리기
필자는 문서 나 논평없이 나와 전달 된 (Java) 코드로 작업하고 있으며 이전에는 캔버스에서 작업 한 적이 없었습니다. 175x75 픽셀을 측정 한 상자의 코드는 다음과 같습니다. 위에서 설명한대로 50x50 영역에 맞게 조정해야합니다.
DrawingArea canvas = new DrawingArea(175, 75);
canvasContainer.add(canvas);
Rectangle rectangle = new Rectangle(0, 0, 174, 75);
canvas.add(rectangle);
Line slopeMainLineX = new Line(5, 70, 170, 70);
slopeMainLineX.setStrokeOpacity(0.5);
canvas.add(slopeMainLineX);
Line slopeMainLineY = new Line(40, 70, 40, 0);
slopeMainLineY.setStrokeOpacity(0.5);
canvas.add(slopeMainLineY);
steepestLine = new Line(40, 70, 0, 0);
steepestLine.setStrokeWidth(3);
canvas.add(steepestLine);
avgSlopeLine = new Line(40, 70, 0, 0);
avgSlopeLine.setStrokeWidth(2);
canvas.add(avgSlopeLine);
flattestLine = new Line(40, 70, 0, 0);
flattestLine.setStrokeWidth(1);
canvas.add(flattestLine);
int steepestAngle = Math.round(site.getSlope().getMax());
int averageAngle = Math.round(site.getSlope().getAvg());
int flatestAngle = Math.round(site.getSlope().getMin());
double xPointSteepestAngle = 40 + 120 * Math.cos(steepestAngle*0.0174532925);
double yPointSteepestAngle = 70 + 120 * Math.sin(steepestAngle*0.0174532925);
double xPointAverageAngle = 40 + 120 * Math.cos(averageAngle*0.0174532925);
double yPointAverageAngle = 70 + 120 * Math.sin(averageAngle*0.0174532925);
double xPointFlatestAngle = 40 + 120 * Math.cos(flatestAngle*0.0174532925);
double yPointFlatestAngle = 70 + 120 * Math.sin(flatestAngle*0.0174532925);
steepestLine.setX2((int) xPointSteepestAngle);
steepestLine.setY2(70 - ((int) yPointSteepestAngle - 70));
avgSlopeLine.setX2((int) xPointAverageAngle);
avgSlopeLine.setY2(70 - ((int) yPointAverageAngle - 70));
flatestLine.setX2((int) xPointFlatestAngle);
flatestLine.setY2(70 - ((int) yPointFlatestAngle - 70));
나는 완전히 잃어 버렸기 때문에 어떤 도움이라도 대단히 감사하겠습니다.
용서해주세요. GWT의 DrawingArea를 캔버스로 사용한다는 사실을 잊어 버렸습니다. 참조한 명령이이 컨트롤에 존재하지 않습니다. –
우우, 미안. HTML5 Canvas를 사용하고 있다고 생각했습니다. 실제로 GWT에있는 명령에 훨씬 더 가까운 동등한 명령이 있습니다. 여기를 참조하십시오 : http://code.google.com/p/gwt-graphics/wiki/Manual 라인과 같은 것을 만드는 것은 거의 정확하게 동일합니다. –
도움을 주셔서 감사합니다. –