请问CBrush画刷画出来的图片边缘是黑线,如何去掉该线? 请问CBrush画刷画出来的图片边缘是黑线,如何去掉该线?我写的程序必需要去掉它,否则效果很差 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把画笔模式设为BS_NULL,就好了 你的BRUSH是不是黑色的啊。创建的时候选别的颜色就行了。 在你的dc中,选入一个PS_NULL的画笔,就可以了。你选入的位图是不是原来就有黑边 选入一个PS_NULL的画笔,或者你的位图本来就有黑边 拜托,我说过我只能用画刷,不是画笔!!!如果要我说为什么只能用画刷,好,我说清楚点。我的View背景是灰色的,我如果用pen画一个矩形,那么矩形的中间覆盖区域就会变成白色,我不希望这样,因为它改变了我的背景色,所以我用画刷,画个红色的矩形,但是画刷的矩形周围老有黑线,我希望它没有黑色线,只有全部的红色 你说的是对的。因为brush填充的是区域而pen是画边框,默认的又是黑色的画笔。所以你画出来的有黑色的边框。你必须选入一个NULL的画笔,或是一个和区域颜色相同的画笔。 void CTestView::OnPaint(){ CPaintDC dc(this); // device context for painting // TODO: 在此添加消息处理程序代码 // 不为绘图消息调用 CListView::OnPaint() CBrush newBrush,*pOldBrush; CPen newPen,*pOldPen; newBrush.CreateSolidBrush(RGB(255,0,0)); pOldPen=(CPen *)dc.SelectStockObject(NULL_PEN); pOldBrush=dc.SelectObject(&newBrush); dc.SelectStockObject(NULL_PEN); dc.Rectangle(50,50,300,300); dc.SelectObject(pOldPen); dc.SelectObject(pOldBrush);} 检测内存泄漏如何确定位置?new是重载的 这几句程序在64位编译下会产生什么问题么? 该怎么改? 实现网络数据包过滤 网络对时:如何和服务器进行通信 如何伪装自已的IP向其它人发送UDP数据包 今年的高程的C++试题向高手请教 COM+组件服务器出错了,求助 vs2010MFC有关进程和线程关闭异常的问题 记录集有记录,但是经过转换确实乱码,请问原因??? 背景图片的问题! 怎样实现客户区视图的画中画效果 怎样得到应用程序所在路径?
你选入的位图是不是原来就有黑边
如果要我说为什么只能用画刷,好,我说清楚点。
我的View背景是灰色的,我如果用pen画一个矩形,那么矩形的中间覆盖区域
就会变成白色,我不希望这样,因为它改变了我的背景色,所以我用画刷,画
个红色的矩形,但是画刷的矩形周围老有黑线,我希望它没有黑色线,只有全部
的红色
因为brush填充的是区域
而pen是画边框,默认的又是黑色的画笔。
所以你画出来的有黑色的边框。
你必须选入一个NULL的画笔,或是一个和区域颜色相同的画笔。
{
CPaintDC dc(this); // device context for painting
// TODO: 在此添加消息处理程序代码
// 不为绘图消息调用 CListView::OnPaint() CBrush newBrush,*pOldBrush;
CPen newPen,*pOldPen;
newBrush.CreateSolidBrush(RGB(255,0,0));
pOldPen=(CPen *)dc.SelectStockObject(NULL_PEN); pOldBrush=dc.SelectObject(&newBrush);
dc.SelectStockObject(NULL_PEN);
dc.Rectangle(50,50,300,300);
dc.SelectObject(pOldPen);
dc.SelectObject(pOldBrush);
}