आह, यदि आप प्रीप्रोकैसिंग कर रहे हैं, तो इससे आपके जीवन को आसान बनाना चाहिए। ग्राफिक्स 2 डी (जे 2 एसई का उपयोग करके) का उपयोग करके मैंने एक छोटा कोड दिया है। मुझे यह पसंद नहीं है कि उत्पादन में अतिरिक्त आंतरिक खंड शामिल हैं, लेकिन जब यह भर जाता है, तो यह बहुत अच्छा लगता है।
import java.awt.BasicStroke;
import java.awt.Shape;
import java.awt.geom.Path2D;
import java.awt.geom.PathIterator;
public class StrokePath
{
public static void main(String[] args)
{
// set line width to 6, use bevel for line joins
BasicStroke bs = new BasicStroke(6.0f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_BEVEL);
// create a path for the input
Path2D p = new Path2D.Float();
p.moveTo(50.0, 50.0);
p.lineTo(65.0, 100.0);
p.lineTo(70.0, 60.0);
p.lineTo(120.0, 65.0);
p.lineTo(40.0, 200.0);
// create outline of wide lines by stroking the path with the stroke
Shape s = bs.createStrokedShape(p);
// output each of the segments of the stroked path for the output polygon
PathIterator pi = s.getPathIterator(null);
while (!pi.isDone())
{
pi.next();
double[] coords = new double[6];
int type = pi.currentSegment(coords);
switch (type)
{
case PathIterator.SEG_LINETO:
System.out.println(String.format("SEG_LINETO %f,%f", coords[0], coords[1]));
break;
case PathIterator.SEG_CLOSE:
System.out.println("SEG_CLOSE");
break;
case PathIterator.SEG_MOVETO:
System.out.println(String.format("SEG_MOVETO %f,%f", coords[0], coords[1]));
break;
default:
System.out.println("*** More complicated than LINETO... Maybe should use FlatteningPathIterator? ***");
break;
}
}
}
}
यहाँ इन निर्देशांक प्रतिपादन के बाद मेरे परिणाम हैं:
स्रोत
2010-05-15 19:30:29
मैं सवाल आप वास्तव में चाहते हैं कि आप नहीं मिला ??? – Himadri
मैं प्वाइंट को कन्वर्ट करना चाहता हूं [] जो चित्र (बाएं) में प्वाइंट [] में लाइन को बना देता है [] जो चित्र में पॉलीगॉन बनाते हैं (दाएं)। ड्रॉ भरने पर वह बहुभुज वास्तव में चौड़ाई वाली रेखा हो सकता है। J2me के लिए जो चौड़ाई (या वजन) के साथ ड्राइंग लाइनों का समर्थन नहीं करता है। – VOX
क्या आप एक विशिष्ट चौड़ाई वाली रेखा चाहते हैं? – Ram