我在写一个光栅测试条图像处理程序时,遇到这样的一个问题,问题详细如下:假设光栅板材是36LPI的(也就是每英寸有36线),光栅板材实际的数据不可能是完整的36LPI,有可能是36.271LPI,我所做的就是要精确测试光栅板材的栅距是多少LPI。在测试时先按10分位测试,也就是说要精确到 0.1 LPI。在一张测试样纸上要测试从36.0到38.0的测试条。先绘制36.0LPI测试条,在创建BitMap对象时,我设置了图像分辨率为360像素/英寸。在一英寸的宽度画36根竖线(也就是1英寸宽度里有36.0线),每根竖线有一半是留空的,也就是每个竖线是5个像素宽度。这样如果板材是完整的36.0LPI就可以精确测出。
再绘制36.1LPI测试条,一英寸里有36.1线,那这样每线里有 9.9722991 个像素,这在画图的时候计算机是无法画出9.97个像素宽度的线的,别小看这0.03的误差,差一点都很难准确测试出光栅的线数。所以我想在一张图里能否在各个不同的局部动态设置分辨率?
比如我在绘制36.0LPI的时候分辨率设置360像素/英寸,在绘制下一条36.1LPI测试条的时候,分辨率用程序设置成361像素/英寸。一张图里不同的测试条具有不同的分辨率。同理还要测试百分位 0.01LPI测试样纸是要用打印机打印出来的,因为打印机的分辨率限制,以及打印纸张的最大DPI限制,所以不可能无限设置图像分辨率,我的打印机最高是支持5760DPI,当然实际情况根本不可能到5760,到2880DPI就了不起了,况且很少有廉价的能支持5760DPI的打印纸,测试条是要打印很多的,从成本上看,不可能设置太高分辨率。 我想这种情况是不可能的吧?不过以前没接触太深的图像设计,说不定有可能,希望有知道的高人能指点下,记住,不同的测试条要在同一张纸上打印。恳请高人出来指点!!!

解决方案 »

  1.   

    很简单的一个问题,一张纸上画多个那就按最高的Dpi设置就好了你的项目我看下来是一个高精度测试项目,这种项目你连一台高精度的硬件都不买,光靠软件肯定失败,别想了,硬件都不达标还指望靠软件来检测?对于测量类项目没什么取巧的,好的硬件+过的去的算法=好的系统。你要知道。。算法在处理数据的时候只可能损失精度,不可能提高精度,换言之如果你的硬件精度不在你要求之上的话,那也别做了。
      

  2.   


    你没仔细看我的内容,就算是按最高DPI,计算的出的像素宽度也是带小数点的,9.87像素宽和9.81像素宽在绘图的时候都是按10个像素来绘图的,这样根本就达不到精确测量。反应在测试条上,有可能36.1和36.2,36.3等LPI在图形上都是竖线完全同一个宽度,明白了?
      

  3.   

    那还不是精度问题,继续提高DPI,从而达到你的像素精度要求,你既然发现算出来2个值得差值在绘制时会被舍入成同一个值那就提高DPI呗,小数点的像素当然画不出了,给人看还能通过灰度来模拟,做测量的没戏
      

  4.   


    精度的提升是有限的,不可能无限制提升,如果精度设置的非常非常大,这个问题可以忽略,可是就这么多精度,5760DPI精度还不够吗?目前市面上的打印机很少有超过5760DPI的,除非是印刷制板,打印一个光栅板测试条要那么先进设备?你不觉得光栅测试条 在光栅立体画制作过程中很常见的,只不过我用别人的软件根本测不准,到百分位就已经靠猜了,更别说千分位,要知道光栅图形本来就算精细的图像,一个栅距放置十几副图像的像素在厘米,当然要求测试精准了。