I want to draw polyline with positive and negative coordinates.
e.g.
125,66
126,62
-128,59
-127,55
-125,51
-124,47
-122,43
-121,40
-119,38
-118,36
These are the sample coordinate to draw the polyline in Jframe.
After drawing the polyline it will show the line for positive coordinates only.
int j =0; System.out.println(imageByteArray.length); int[] x = new int [imageByteArray.length/2]; int[] y = new int [imageByteArray.length/2]; for (int i = 0; i <= imageByteArray.length-1;) { System.out.println(imageByteArray[i] +","+imageByteArray[i+1]); int s1 = imageByteArray[i]; int s2 = imageByteArray[i+1]; j++; i = i+2; } gp.drawPolyline( x, y, j );
Please help me to understand how we can draw polyline with such coordinates using java technology.
Advertisement
Answer
Let’s say your drawing panel (JPanel) is 400 x 400 pixels.
Let’s take your polyline. I’m assuming these are x, y coordinates.
125, 66 126, 62 -128, 59 -127, 55 -125, 51 -124, 47 -122, 43 -121, 40 -119, 38 -118, 36
The y coordinates range from 36 to 66. These coordinates fit easily in the 0 to 399 range of our drawing panel.
The x coordinates range from -128 to 126. These coordinates don’t fit in the 0 to 399 range of our drawing panel.
The absolute difference between the minimum and the maximum x value is 254. 254 is less than the 400 pixels we have to work with.
Therefore, by adding 128 to each x coordinate, we can translate the polyline into something that can be drawn on our 400 x 400 drawing panel.