几个API函数求解释
我想用BMP做窗体。现在我能遍历所有像素了。但得到需要去掉的像素该如何操作。
在网上找了资料。找到2种实现办法。
第一种是用CreateRectRgn和CombineRgn来实现,对这2个函数不太懂他的意思。
第二种是 MoveToEx( dc, p.X, p.Y, nil );
LineTo(dc, p.X, y );
LineTo(dc, p.X + 1, y );
LineTo(dc, p.X + 1, p.Y );
这个更不懂了,
我想问的是假如我要把红色透明掉。也就是窗口不显示。当我遍历到红色后该怎么处理
[解决办法]
CreateRectRgn
【操作系统】
Win9X:Yes
WinNT:Yes
【说明】
创建一个由点X1,Y1和X2,Y2描述的矩形区域
【返回值】
Long,执行成功为区域句柄,失败则为零
【其它】
不用时一定要用DeleteObject函数删除该区域
这个矩形的下边和右边不包含在区域之内
【参数表】
X1,Y1 ---------- Long,矩形左上角X,Y坐标
X2,Y2 ---------- Long,矩形右下角X,Y坐标
[解决办法]
CreateRectRgn和CombineRgn
这两个函数是创建异型窗体用的,说白了就是把图片中的颜色一个点一个点的遍历,然后把取到的点合成一个矩形
CreateRectRgn 创建矩形区域
CombineRgn 合并矩形区域
4L 给的解释很全了
MoveToEx和LineTo组合 那是画线用的
另外回答Lz的问题,遍历到红色就跳过去呗,可以查下桌面精灵的代码
或者简单些,直接用个bmp加载图片然后设定透明色就可以了