4
Im DDA (Digital Diferential Analizer)를 사용하여 선을 만들고, 내가 어쩌면 DrawLine을 사용하고 있는지 알고 있다고 생각했습니다. Im은 파선이나 점선과 같은 다양한 유형의 라인을 만들려고 노력하고 있습니다. 아래에서 for를 만들기 위해 생각한 것은 점선을 만들기 위해 숫자를 점프하는 것입니다. 그러나 나는 아직도 할 수있는 방법을 찾지 못한다. 이것은 내가 지금까지 가지고있는 것입니다 :디지털 Diferential Analizer 점선
public void paint(Graphics g) {
super.paint(g);
int dot=0;
int x1 = pointStart.x;
int x2 = pointEnd.x;
int y1 = pointStart.y;
int y2 = pointEnd.y;
float dx, dy, m, y, x;
if (x1>x2){
int ax = x2;
int ay = y2;
x2 = x1;
x1 = ax;
y2 = y1;
y1 = ay;
}
dx = x2 - x1;
dy = y2 - y1;
m = dy/dx;
if (m>=-1&&m<=1){
dot = (int)dx/4;
y = y1;
System.out.println(m);
for (x = x1 ; x <= x2;x++){
//if (x>=dot&&x<=dot+10||x>=dot*2&&x<=dot*2+10||x>=dot*3&&x<=dot*3+10){
g.drawLine((int)x, (int)Math.round(y), (int)x, (int)Math.round(y));
y+=m;
//}
}
}
else{
x = x1;
System.out.println(m);
for (y = y1 ; y <= y2;y++){
g.drawLine((int)Math.round(x), (int)y, (int)Math.round(x), (int)y);
x+=1/m;
}
}
/*if (pointStart != null) {
if (x1>)
g.setColor(Color.RED);
//g.drawLine(pointStart.x, pointStart.y, pointEnd.x, pointEnd.y);
g.drawLine(x1, y1, x1, y1);
}*/
}
아이디어가 있으십니까?
선 색상을 배경색으로 변경 한 다음 다시 검정색 (또는 선택한 다른 색상)으로 '점프'한 다음 배경색으로 다시 이동하십시오. 이렇게하면 효과를 얻을 수 있습니다. 그러나 이것은 또한 당신이 사용하는 레이어에 달려 있으며, 무엇이든 트랜스 패 런트 (transparant)라면 ... – mike
와우 하임은 그 XD ty ill에 대해 생각해보십시오. –
당신을 환영합니다! – mike