小编Com*_*ted的帖子

Java制作有向线并使其移动

我想制作一条直线并让它移动.我能够制作一条直线并移动直线,但是当我移动直线时箭头会移位

这是我的绘画方法

 Line2D.Double line = new Line2D.Double(startX, startY, endX, endY);
                    g2d.draw(line);
                    tx.setToIdentity();                    
                  double angle = Math.atan2(line.y2 - line.y1, line.x2 - line.x1);
                   tx.translate(line.x2, line.y2);
                    tx.rotate((angle - Math.PI / 2d));
                    Graphics2D gClone = (Graphics2D) g2d.create();
                    gClone.setTransform(tx);
 Polygon arrowHead = new Polygon();
        arrowHead.addPoint(0, 15);
        arrowHead.addPoint(-15, -15);
        arrowHead.addPoint(15, -15);
                    Area area = new Arear(arrowHead );
                    Area lineArea = new Area(line);
                    lineArea.subtract(area);
                    gClone.fill(area);
                    gClone.dispose();
Run Code Online (Sandbox Code Playgroud)

我已经改变了startx的值并在鼠标按下和endx时开始y并在鼠标拖动时启动

java graphics swing shapes paintcomponent

1
推荐指数
1
解决办法
4677
查看次数

Java形状转换为BufferedImage

我想在JLabel上制作矩形并将该矩形转换为BufferedImage ......就像在paint shop中的图层一样... drafferedImage并调整大小......任何人都可以帮助

我做到了这一点,但它没有奏效

Rectangle2D rectangle2D;
                            BufferedImage bi = new BufferedImage(bimg.getWidth(), bimg.getHeight(), BufferedImage.TYPE_INT_RGB);
                            Graphics2D big = bi.createGraphics();
                            rectangle2D = new Rectangle2D.Float(eX, eY, sW, sH);
                            big.setStroke(new BasicStroke(5));
                            big.setColor(color);
                            shapePaint = new TexturePaint(bi, rectangle2D);
                            g2d.setPaint(shapePaint);
Run Code Online (Sandbox Code Playgroud)

java graphics swing bufferedimage awt

-1
推荐指数
1
解决办法
1115
查看次数

标签 统计

graphics ×2

java ×2

swing ×2

awt ×1

bufferedimage ×1

paintcomponent ×1

shapes ×1