首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Piccolo2D中绘制曲线?

如何在Piccolo2D中绘制曲线?
EN

Stack Overflow用户
提问于 2012-10-04 02:55:30
回答 1查看 487关注 0票数 1

我正在尝试用Java在Piccolo2D中创建一条曲线。

这是我的代码

代码语言:javascript
复制
public class MyCanvas extends PSwingCanvas{

 private void drawLine(PPath inSocket, PPath outSocket) {
  float startX = (float)inSocket.getX();
  float startY = (float)inSocket.getY()+4;
  float endX = (float)outSocket.getX()+8;
  float endY = (float)outSocket.getY()+4;

  PPath line = PPath.createLine(startX, startY, endX, endY);
  line.curveTo(endX+60,endY,startX-60,startY, startX, startY);
  getLayer().addChild(line);
 }


 public void testGraph(){
   PPath in = PPath.createEllipse(100f, 100f, 8, 8);
   PPath out = PPath.createEllipse(200f, 200f, 8, 8);
   this.getLayer().addChild(in);
   this.getLayer().addChild(out);
   drawLine(out,in);
 }

 public static void main(String[] args){
  final JFrame frame = new JFrame("Testing");
  MyCanvas canvas = new MyCanvas();
  canvas.testGraph();
  frame.getContentPane().add(editor);
  frame.setPreferredSize(new Dimension(600, 400));
  frame.pack();
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() {
          frame.setVisible(true); 
    }});
  }
 }

我得到的图表是:

如何去除两点之间的原始线段,使我只看到曲线?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-17 07:21:27

这可能太晚了,但无论如何,您可以尝试以下操作:

代码语言:javascript
复制
PPath line = new PPath();
line.moveTo(endX, endY);
line.curveTo(endX + 60, endY, startX - 60, startY, startX, startY);

以下是基于原始代码示例的结果:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12714983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档