我正在编写一个代码,允许我绘制一个交流的“动画电力”信号,在这种情况下,时间间隔应该是准确的。我的问题是: 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>发布于 2016-03-31 09:28:35
Graphics2D类描述给出了相当好的单元描述(在“坐标空间”部分):
https://docs.oracle.com/javase/8/docs/api/java/awt/Graphics2D.html
一般来说,“用户空间”( Java2D坐标系)中的一个单元将对应于物理设备(如显示器或打印机)的1/72英寸。
发布于 2016-03-29 21:53:11
嗯,没有人回答,我认为在Graphics2D对象的情况下,它不会把它作为像素,也许像素不能被分割成分数,而Graphics2D可以使用分数。不幸的是,在Graphics2D类上工作的开发人员似乎没有给出任何明确的描述。
https://stackoverflow.com/questions/36263983
复制相似问题