代码之家  ›  专栏  ›  技术社区  ›  AbdulRahman Awad

Graphics2D或2D组件的度量单位是什么?

  •  0
  • AbdulRahman Awad  · 技术社区  · 10 年前

    我正在编写一个代码,可以让我绘制一个交流“动画电”信号,在这种情况下,时间间隔应该是准确的。 我的问题是:;具体来说,Point2D的测量单位是什么?是像素、毫秒还是其他单位? 我正在尝试绘制Line2D,它应该在两点之间绘制! 我曾尝试将“1”值设为毫秒,这有点管用,后来我发现图形元素是以像素为单位的,我尝试将毫秒转换为像素,乘以像素值,但没有得到预期的结果。 我的代码如下,期望值为“1”,即Millie

    <i>
    for(i=0;i<20000;i++)
                {
                    //System.out.println(volts[i]);
    
                    if(i!=0)
                        g2d.draw(new Line2D.Double(time-(timeScale/y),-(((voltScale/x)*50*volts[i-1])-300),time,-(((voltScale/x)*50*volts[i])-300)));
                    time+=(timeScale/y);
                }
    </i>
    
    2 回复  |  直到 10 年前
        1
  •  1
  •   David Gilbert    10 年前

    Graphics2D类描述对单位给出了相当好的描述(在“坐标空间”部分:

    https://docs.oracle.com/javase/8/docs/api/java/awt/Graphics2D.html

    一般来说,“用户空间”(Java2D坐标系)中的单位将对应于物理设备(如显示器或打印机)上的1/72英寸。

        2
  •  0
  •   AbdulRahman Awad    10 年前

    嗯,感觉没有人回答,我认为在Graphics2D对象的情况下,它不会把它当作像素,也许像素不能被切成分数,而Graphics2D可以使用分数。不幸的是,开发Graphics2D类的开发人员似乎没有给出任何明确的描述。