导航:首页 > 图片大全 > mfc如何选择性删除原来的图片

mfc如何选择性删除原来的图片

发布时间:2022-10-09 12:14:59

❶ 怎样删除原mfc中的背景图片和.ico图标

MFC没有背景图片啊 至于ICO图标 你自己弄个想要的替换原有的ICO图标重新build编译程序即可

❷ VC MFC 清除图片

背景色填充
CDC *pdc=GetDC();
COLORREF clr=pdc->GetBkColor();
COLORREF bkColor = GetSysColor( COLOR_3DFACE );
pdc->FillSolidRect(region,bkColor );
::ReleaseDC(m_hWnd, *pdc);

❸ MFC 如何清除已画图像问题

在画图前添加这2行代码就可以了
getdlgitem(id)->showwindow(false);
//关闭窗口显示
getdlgitem(id)->showwindow(true);
//打开窗口显示,相当于把窗体重启,清除picture控件的残余

❹ 在MFC中 如何对已经画好的图形进行删除,或者如何对图形操作。 我要的是代码,谢谢。

#include <iostream>
#include <time.h>
#include <set>
using namespace std;

struct CPoint
{
int x;
int y;
CPoint(int xx, int yy) : x(xx), y(yy){}
};
struct shape
{
virtual ~shape() {}
virtual bool HitTest(CPoint pt) = 0;
virtual void Move(int dx, int dy) = 0;
virtual void Draw(/*CDC *pdc*/) = 0;
};
class Line : public shape
{
public:
Line(CPoint s, CPoint e) :start_(s), end_(e) {}
virtual bool HitTest(CPoint pt)
{
//distance between point and the line
return true;
}
virtual void Move(int dx, int dy)
{
start_.x += dx;
start_.y += dy;
}
virtual void Draw() {cout << "draw Line" << endl;}
private:
CPoint start_;
CPoint end_;
};
class ShapeManager
{
public:
~ShapeManager() {/*delete shapes or memery leak*/}

shape *HitShape(CPoint pt)
{
for (Itr itr = shapes_.begin(); itr != shapes_.end(); ++itr)
if ((*itr)->HitTest(pt))
return *itr;
return 0;
}
void AddShape(shape *item) {shapes_.insert(item);}
void DeleteShape(shape *item)
{
shapes_.erase(item);
}
private:
typedef set<shape *>::iterator Itr;
set<shape *> shapes_;
};

int main()
{
ShapeManager sm;
sm.AddShape(new Line(CPoint(0, 0), CPoint(100, 100)));
shape *sel = sm.HitShape(CPoint(20, 30));
sel->Move(10, 10);
sm.DeleteShape(sel);
return 0;
}

❺ MFC怎样清除picture control的图片

	CFileDialogopendlg(TRUE,_T(""),_T(""),OFN_OVERWRITEPROMPT,_T("位图文件(*.bmp;)|*.bmp||"),NULL);
if(opendlg.DoModal()==IDOK)
{
filename=opendlg.GetPathName();
HBITMAPhHandle=(HBITMAP)::LoadImage(NULL,filename,IMAGE_BITMAP,480,360,LR_LOADFROMFILE);
HBITMAPoldb=m_Picture.SetBitmap(hHandle);
DeleteObject(oldb);
}

❻ MFC绘图,在绘制新的图形之前,如何清除之前绘制的图形

Invaladate()刷新一下就好了啊 或者是将画图之前的背景颜色 设置为某个颜色,然后再画

❼ MFC中想实现这样一个功能:两个按钮A、B,点击A按钮显示一张位图,点击B按钮将之前显示的位图删掉。

调用Invalidate函数,引起重绘。就把图片删除了

❽ MFC 如何清除已画图像问题

利用函数SetROP2:
CPoint m_ptBegin; //起始点
CPoint m_ptOrigon; //前一个点
OnLButtonDown中
m_ptBegin = m_ptOrigon = point;
OnMouseMove中
CClientDC dc(this);
CPen pen;
pen.CreatePen(PS_SOLID,1,RGB(255,0,0));
CPen * pOldPen = dc.SelectObject(&pen);
if(point != m_ptOrigon)
{
dc.SetROP2(R2_NOTXORPEN);
dc.MoveTo(m_ptBegin);
dc.LineTo(m_ptOrigon);
dc.MoveTo(m_ptBegin);
dc.LineTo(point);
m_ptOrigon = point;
}
就可以实现了。

❾ MFC 在使用GDI+中函数DrawImage,如何清除上一次画的图像

您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!展开全部
(第一次回答问题,希望能拿到分)
PNG的透明效果是通过Alpha混合实现的,通常情况下,Alpha混合使用下面的计算公式:
Dest = Src * (Alpha/255) + Dest * (1-Alpha/255) 【公式1】
变量说明:
Dest 目标像素的RGB值
Src 源像素的RGB值,在这里PNG就是源
Alpha 源像素的Alpha通道值
在Windows编程中,使用函数AlphaBlend实现Alpha混合,但是该函数的Alpha混合公式为:
Dest = Src + Dest * (1-Alpha/255) 【公式2】
(注:实际情况要稍微复杂一点,公式2只是其中一个特例,但也是最常用的一个特例。完整的计算公式参见MSDN中AlphaBlend的帮助)
公式2中,源没有乘以Alpha值,而是直接叠加至目标,显示效果会比公式1亮一些。

因此结论就出来了:
暗一些的蝴蝶使用了公式1

亮一些的蝴蝶使用了公式2(AlphaBlend函数)。下图是调用AlphaBlend的效果:非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

阅读全文

与mfc如何选择性删除原来的图片相关的资料

热点内容
简单的老鹰画图片 浏览:168
女孩子扎辨头发图片 浏览:131
一加8t在快手上怎么保存图片 浏览:114
gs4传祺图片价格图片 浏览:897
小波特衣服图片 浏览:581
把图片上的文字转为word 浏览:401
word中如何在图片背景上插表格 浏览:55
网上买的衣服跟上的图片不一样 浏览:549
陶醉玉笛高清图片 浏览:638
可爱图片小猫表情 浏览:180
儿童铁与衣服图片 浏览:114
图片如何手机做标记 浏览:310
皮女孩图片 浏览:926
古诗漫画图片大全简单 浏览:120
图片左右翻转怎么做的 浏览:654
如何解除手机定时发送图片 浏览:184
华少的短发发型图片 浏览:114
图片抖音最火男生 浏览:787
宿舍女生发型图片 浏览:740
二手小型铲车价格及图片 浏览:105