因我是把mm计算成像素数,结果是小数的,取整后画出来就有误差(这个误差经过循环后被放大了)所以在hDC上画线时能否使用更小的单位

解决方案 »

  1.   

    其实用像素就可以了。
    告诉你一个办法(我写软件就是这么干的):你把每次取整后余下的小数部份考虑进去,最后在画线的过程中再来个取整就可以了。或者:初始数据用Double(Single)型,画线时转换成Long整,这样就精确了。我一般用后者。
      

  2.   

    API使用的单位是像素,一般不用其它单位,可想办法控制误差,如一次误差0.1个像素,10次循环加1等
      

  3.   

    GDI+可以支持浮点
    但#2的说法还是正解 内部计算用小数 外部绘制取整
      

  4.   

    我的意思是是否可以改变某个hDC的DPI,不知这样是否可以提高精度
      

  5.   

    DPI是整个显示屏幕的整体属性,不能局部改变的吧
      

  6.   

    但好像我曾经见过一些绘图软件除了可以设置画布大小外还可以设置DPI?
      

  7.   

    DPI指的是: 每英寸上有几个点 (DOT PER INCH)
    对于固定的硬件来说DPI是不变的,或者说只有小于硬件本身的DPI才是有意义的.因为硬件无法输出高于它被制造的显示密度.
    你指的"某些软件能设置DPI"本质上只是能设定某张图片在被打印时的大小而已.
      

  8.   

    最终到屏幕上还是像素,要更精确的话,可以自己用Double算好然后转成像素嘛……
      

  9.   


    绘图精度... 
    有api可以控制,和vb 的scalemode一样,你应该查下 mapxxxxx 一个api,gdi的,忘了叫什么
    用他设置计量模式,具体怎么用,没用过.... lz 自己想办法吧