问一简单算法。。。 有DC a和b。要把a中某个圆形范围内的图像拷贝到b中的一个圆形范围内。假设a中的圆由半径Ra和圆点Xa,Ya确定。b中的圆由Rb和Xb,Yb确定。谁有好的方法?另外,如果这2个形状更难描述,比如是菱形、多边形、异形等,如何做呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 “有DC a和b。要把a中某个圆形范围内的图像拷贝到b中的一个圆形范围内。”说明圆形a的面积小于圆形b的面积,可以省略一些判断!再考虑考虑 1. 用这些图形的边缘形成扫描点,然后用扫描点填充的方式拷贝。(只能适用较简单的规则图形。或者你支持任意多边形)2. 建一个Mask图,有Mask图中有效部分拷贝。(对各种复杂图形适用) 要看具体A,B ,DC 的表面的内容了,如果A 中 圆形区域的内容与周围其他地方不一样,可以设设置颜色键过滤,直接 Blt 上去就可以, 如果是随机切A 的 一个圆区域贴到B区域,设置圆周 边线为一与周围不同的单色 ,直接写A DC内容到B DC 上,写到圆周附近 如发现像素点与你设置的相同,你就知道写道边上了,可以不咬写道外面了。 当然 ,如果 你HOOK 驱动的DrvBitBlt 或 DrvFillPath 等 可以更简单的高定 。 你在b中放一个picture控件然后在里面画不就可以了 最简单偶想应该是先对目标DC做SelectClipRgn了吧。 http://blog.csdn.net/platform/archive/2006/08/12/1055565.aspx不规则多边形相交计算-----------------------------------这个应该有一些启发的! 如何获取已知的进程内核对象句柄的对象名称-在线等待 点击对话框上的X会发送给对话框WM_DESTROY消息么? vc++6.0 复合文档的读写 1.为什么通常使用搜索引擎检索要比使用数据库进行全文检索要快 多串口数据发送的方法 如何提取CString类型字符串中的字符?... 一个已经困扰了好多天的问题,SOS,在线等! Tab Ctrl的问题:如何把控件加上去? 菜鸟问题:为什么窗口不理我? 一个单文挡问题? 设置界面的最低大小 SendMessage(this->m_ctrlInfo.GetSafeHwnd(),WM_VSCROLL,SB_BOTTOM,NULL)
说明圆形a的面积小于圆形b的面积,可以省略一些判断!再考虑考虑
2. 建一个Mask图,有Mask图中有效部分拷贝。(对各种复杂图形适用)
然后在里面画不就可以了
-----------------------------------
这个应该有一些启发的!