我正在编写一个代码,它可以让我画一个交流“动态电”信号,在这种情况下,时间间隔应该是准确的。我的问题是;具体来说,点2d的测量单位是什么,不是像素,毫秒,还是其他任何单位?我想画一条线,应该画在两点之间!我试着把“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条答案
按热度按时间dy1byipe1#
graphics2d类描述给出了一个相当好的单位描述(在“坐标空间”部分:
https://docs.oracle.com/javase/8/docs/api/java/awt/graphics2d.html
一般来说,“用户空间”(java2d坐标系)中的单位对应于物理设备(如显示器或打印机)上的1/72英寸。
vc6uscn92#
嗯,感觉没人回答,我想在graphics2d对象的情况下,它不会把它当作像素,也许像素不能被分割成分数,graphics2d可以使用分数。不幸的是,开发graphics2d类的开发人员似乎没有给出任何明确的描述。