setpixel 浮点型参数

来源:百度知道 编辑:UC知道 时间:2024/05/21 12:49:43
大家好,我想用setpixel画点,但是由于该函数原型为setpixel(int,int,colorref)
所以点的坐标值只能为整数,
比如,我想作点(3.2,6.1),setpixel(3.2,6.1.rgb(255,0,0))
实际上是调用setpixel(3,6,rgb(255,0,0)),画出的点是(3,6),因此画出的点不是我想要的,如何解决?
能改变setpixel()的参数类型吗,变成setpixel(double,double,colorref),可以吗? 或者其他解决办法,请帮忙给稍微详细点的答案,谢谢~~~
可是我作图的时候,如果采取四舍五入的话,那么图形就绘的不标准了哦~~ 有没有什么解决办法呢?

谢谢两位的解答,但是改源代码的参数不是很好吧???

因为屏幕上的点都是整数的,一个像素就是一个点,只能控制整个像素是什么颜色的,而不可能只显示半个像素,所以不会有小数出现。

所以只能是在画点时,你自己采取一下四舍五入画出整数点。

补充:
图形绘的不标准这没有办法,显示时我们处理的是数字量,不是模拟量,它就是一个近似值。
就和你在画图中画一条斜的直线,或画一个圆一样,仔细看一下,线条并不是连续而光滑的。

重载setpixel函数,也是没有用的,因为你只能操作一整个像素,而不能操作半个像素。

给你一个万能的方法。
你找到setpixel那个函数的实现,然后把那个函数参数类型改了就OK