主题:求指定区域内的像素
zhouyongku
[专家分:0] 发布于 2008-12-01 13:18:00
1、随便画一条线求它所占用的像素数目
2、画一个椭圆,求它包含的像素数目
大哥些啊。我关键是没思路
回复列表 (共2个回复)
沙发
ahuang515 [专家分:20] 发布于 2008-12-02 16:32:00
对于直线是由点组成的。在我们的屏幕上的任何区域实际是由一个直角坐标系。而像素就是单位。举个例子,比如说(232,420)就是指在横坐标232纵坐标420位置的一个像素点。要球直线有多少个像素点就容易了啊。计算出两个点之间的距离就可以了。只是距离的单位就是像素,或者说有多少个像素。
椭圆就没太好的方法,比较笨。你画好的图形的颜色是与背景不同的。然后逐行遍历每个像素点,如果是黑点(假设你画的圆是黑的)则count++,否则pass查看下一个点。知道把二维矩阵全部遍历为止。你就知道你有多少个黑点了。
板凳
zhouyongku [专家分:0] 发布于 2008-12-10 18:51:00
不过你得说清楚,应该是说是MM_TEXT下CPoint ==逻辑坐标,GDI绘图是用逻辑坐标,而CPoint 是用DEVICE坐标,正好一个cpoint对应于一个像素,所以就能测量出一个图形所占用的像素了。
我来回复