import com.sun.javafx.geom.Curve; import com.sun.javafx.geom.Path2D; import com.sun.javafx.geom.PathIterator; import com.sun.javafx.geom.Shape; import com.sun.javafx.geom.transform.BaseTransform; import javax.swing.*; import java.awt.*; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; public class CurvesapiExample extends JFrame { private final int width = 400; private final int height = 400; public CurvesapiExample() { super("Curvesapi Example"); setSize(width, height); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setLocationRelativeTo(null); } @Override public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) g; Curve curve = new Curve(Curve.C2, new float[]{100,200,300}, new float[]{300,100,300}); Path2D path = new Path2D(); path.append(curve, false); AffineTransform transform = new AffineTransform(); transform.translate(0, 0); Shape transformedPath = path.createTransformedShape(transform); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics2D imageG2d = image.createGraphics(); imageG2d.setBackground(Color.WHITE); imageG2d.setColor(Color.BLACK); imageG2d.clearRect(0, 0, width, height); imageG2d.draw(transformedPath); g2d.drawImage(image, 0, 0, null); } public static void main(String[] args) { EventQueue.invokeLater(() -> { CurvesapiExample example = new CurvesapiExample(); example.setVisible(true); }); } } <!-- Maven --> <dependency> <groupId>com.googlecode.curvesapi</groupId> <artifactId>curvesapi</artifactId> <version>1.07</version> </dependency> // Gradle implementation 'com.googlecode.curvesapi:curvesapi:1.07'


上一篇:
下一篇:
切换中文