導航:首頁 > 圖片大全 > 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如何選擇性刪除原來的圖片相關的資料

熱點內容
裁剪衣服男士花樣圖片 瀏覽:980
超好看的生日背景圖片男生 瀏覽:665
皮筋丸子頭發型圖片 瀏覽:205
黑白創意畫作品圖片大全最簡單 瀏覽:919
動物的動漫圖片簡筆畫圖片大全可愛 瀏覽:102
小女孩沒有媽媽他的媽媽死了的圖片 瀏覽:763
頭發燙的發型圖片中年女 瀏覽:997
噪音如何防治圖片 瀏覽:14
淘寶搜出來圖片點進去怎麼變了 瀏覽:601
男生說自己累的搞笑圖片 瀏覽:877
word怎麼設置圖片襯於文字下面 瀏覽:212
如何將ps中的圖片摳圖 瀏覽:698
女生節愛自己的圖片 瀏覽:180
剪紙圖片簡單熊貓 瀏覽:869
日本白色衣服圖片 瀏覽:744
天門山滑翔翼女孩劉安圖片資料 瀏覽:73
風法米拉2高清圖片 瀏覽:883
銀錠價格表及圖片大全 瀏覽:504
特異構成圖片作業簡單 瀏覽:268
動漫女人物大全圖片 瀏覽:568