Вы можете, но, возможно, вам придется использовать собственный код Sun.Я не уверен, что это за лицензия, но Eclipse не позволяет мне скомпилировать код.Тем не менее, вы можете скомпилировать его с помощью командной строки Java, поэтому я считаю, что он может быть использован.
Ниже приведен пример того, как вы можете использовать его.
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Path2D;
import sun.java2d.loops.ProcessPath;
public class Test
{
static public void main(
final String ... args)
{
final Ellipse2D e2D = new Ellipse2D.Float(0, 0, 100, 200);
final AffineTransform at = new AffineTransform();
final Path2D.Float p2D = new Path2D.Float(e2D, at);
final sun.java2d.loops.ProcessPath.DrawHandler dhnd =
new ProcessPath.DrawHandler(0, 0, 100, 200)
{
public void drawLine(
final int x1,
final int y1,
final int x2,
final int y2)
{
System.out.printf("Line: %d,%d -> %d,%d\n", x1, y2, x2, y2);
}
public void drawPixel(
final int x,
final int y)
{
System.out.printf("Pixel: %d,%d\n", x, y);
}
public void drawScanline(
final int x1,
final int x2,
final int y)
{
System.out.printf("ScanLine: %d,%d -> %d,%d\n", x1, y, x2, y);
}
};
sun.java2d.loops.ProcessPath.drawPath(dhnd, p2D, 0, 0);
}
}
Код распечатывает, какой пиксель нарисован и какая линия нарисована (вычисление пикселей линии не так сложно).
Как видите, этот код не требует кражи кода рисования.Просто слушай, что рисуется.Так что это может быть хорошо.
И если лицензия действительно является проблемой, вы можете использовать PathIterator.Eclipse2D может предоставить вам PathIterator, который вы можете использовать, и отслеживать пиксель оттуда.