使用画图打开图片->全选->Ctrl+C,在VC中新建位图, Ctrl+V
解决方案 »
- 如何控制嵌入word2003的大小
- 我要做一个鼠标移动小游戏,不知道选MFC的哪个结构
- 请教数据库多表联合操作的问题
- 请问在Debug版的程序中可以使用Release版的Dll吗,另在VC中怎样把Release版转为Debug版?
- 怎么可以让EDITTEXT 里面的文本来个换行????
- 请教托盘程序的问题 右键不能出菜单
- 表格控件如(msflexgrid)我想让光标到达哪个小格或者哪行,就让光标所在的行或者小格的背景色变成其它的颜色,如何做到?
- 收不到OnNcLButtonUp问题
- 胡涂了
- VS2012新建了一个MFC工程,只加了#import "C:\Program Files\common files\system\ado\msado15.dl
- vs2010的两个问题
- 有关socket端口重用的问题
CImage provides enhanced bitmap support, including the ability to load and save images in JPEG, GIF, BMP, and Portable Network Graphics (PNG) formats.
class CImage
Collapse imageRes
CImage takes bitmaps that are either device-independent bitmap (DIB) sections or not; however, you can use Create or CImage::Load with only DIB sections. You can attach a non-DIB section bitmap to a CImage object using Attach, but then you cannot use the following CImage methods, which support only DIB section bitmaps: GetBitsGetColorTableGetMaxColorTableEntriesGetPitchGetPixelAddressIsIndexedSetColorTableTo determine if an attached bitmap is a DIB section, call IsDibSection.NoteNote:
Note In Visual Studio .NET 2003, this class keeps a count of the number of CImage objects created. Whenever the count goes to 0, the function GdiplusShutdown is automatically called to release resources used by GDI+. This ensures that any CImage objects created directly or indirectly by DLLs are always destroyed properly and that GdiplusShutdown is not called from DllMain.
NoteNote:
Using global CImage objects in a DLL is not recommended. If you need to use a global CImage object in a DLL, call CImage::ReleaseGDIPlus to explicitly release resources used by GDI+.
CImage cannot be selected into a new CDC. CImage creates its own HDC for the image. Because an HBITMAP can only be selected into one HDC at a time, the HBITMAP associated with the CImage cannot be selected into another HDC. If you need a CDC, retrieve the HDC from the CImage and give it to CDC::FromHandle. Collapse imageExample
Visual C++ Copy imageCopy Code
// Get a CDC for the image
CDC* pDC = CDC::FromHandle(m_myImage.GetDC());// Use pDC here
pDC->Rectangle(0, 40, 100, 50);m_myImage.ReleaseDC();
When you use CImage in an MFC project, note which member functions in your project expect a pointer to a CBitmap object. If you want to use CImage with such a function, like CMenu::AppendMenu, use CBitmap::FromHandle, pass it your CImage HBITMAP, and use the returned CBitmap*.Visual C++ Copy imageCopy Code
void CMyDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags); CBitmap* pBitmap = CBitmap::FromHandle(m_myImage);
m_pmenuPop->AppendMenu(0, ID_BMPCOMMAND, pBitmap);
ClientToScreen(&point);
m_pmenuPop->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x,
point.y, this);
}
Through CImage, you have access to the actual bits of a DIB section. You can use a CImage object anywhere you previously used a Win32 HBITMAP or DIB section. NoteNote:
The following CImage methods have limitations on their use:
Method
Limitation
PlgBlt
Works with only Windows NT 4.0 or later. Will not work on applications running on Windows 95/98 or later.
MaskBlt
Works with only Windows NT 4.0 or later. Will not work on applications running on Windows 95/98 or later.
AlphaBlend
Works with only Windows 2000, Windows 98, and later systems.
TransparentBlt
Works with only Windows 2000, Windows 98, and later systems.
Draw
Supports transparency with only Windows 2000, Windows 98, and later systems.
See CImage Limitations with Earlier Operating Systems for more detailed information about the limitations on these methods.You can use CImage from either MFC or ATL.NoteNote:
When you create a project using CImage, you must define CString before you include atlimage.h. If your project uses ATL without MFC, include atlstr.h before you include atlimage.h. If your project uses MFC (or if it is an ATL project with MFC support), include afxstr.h before you include atlimage.h.Likewise, you must include atlimage.h before you include atlimpl.cpp. To accomplish this easily, include atlimage.h in your stdafx.h.
Collapse imageRequirements
Header: atlimage.h
如果你不想写代码
那么先要把位图文件当作资源导入到工程中
这个位图资源会有一个资源ID
然后在对话框上放一个picture control
然后给这个控件设置导入的资源的ID即可
就是导入对话框里面找不到我的文件,后来我选择所有文件就看得到了,但是又有一个问题,我用的vs2013,
有的位图能够导入,有的导入失败,不知道vs2013对导入的位图尺寸大小,位数等有什么限制吗?最奇怪的是两个位图
尺寸和位数都一样,偏偏有一个导入失败
http://blog.csdn.net/xianglifighter/article/details/34840207