画图中的颜色填充功能是怎么实现的?
各位帮忙啊,画图中的颜色填充功能是怎么实现的? 问题点数:100、回复次数:8Top
1 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-02-12 19:27:40 得分 0
用画刷填充的呀。Top
2 楼fyjin99(老饭)回复于 2006-02-12 20:06:45 得分 0
晕,大哥我要的是算法阿Top
3 楼xlzxlich(阳光)回复于 2006-02-12 21:03:50 得分 10
就是用画刷填充的呀。如果给定的不满足,就用自定义的。Top
4 楼fastbit(大罗)回复于 2006-02-12 21:26:07 得分 20
在窗口类的OnPaint()函数中加入下面类似的代码,画一个矩形
CBrush brush(0xFFFFFFFF);
CClientDC dc(this);
CBrush* pOldBrush = dc.SelectObject(&brush);
CRect rc(0,0,10,10);
dc.Rectangle(&rc);
dc.SelectObject(pOldBrush);
Top
5 楼snowlight81(落霜)回复于 2006-02-12 22:47:26 得分 30
用这个函数CDC::ExtFloodFill
ExtFLoodFill(hdc,xStart,yStart,rgbColor,wFill );
此函数用当前刷子填充显示表面上的某一区域,若wFill被设置成FLOODFILLBORDER,此区域将完全用rgbColor设定的颜色作为边界,ExtFloodFill从(xStart,yStart)点开始向各个方向填充,直到该颜色边界为止。若wFill被设置成FLOODFILLSURFACE,则ExtFLOODFILL函数从(xStart,yStart)点开始,向各个方向对所有包含由rgbColor参数设定的颜色的相邻区域进行填充。
Top
6 楼snowlight81(落霜)回复于 2006-02-12 22:50:52 得分 0
若要实现类似画图里油漆桶的功能,则把wFill设置成FLOODFILLSURFACETop
7 楼livedeal(升星星中,快点结贴!!)回复于 2006-02-14 09:18:32 得分 20
我这个自己写过,用的是区域生长算法`Top
8 楼liuyi1982(kiki)回复于 2006-02-14 10:31:17 得分 20
广优遍历Top




