社区
界面
帖子详情
[MFC]文件贴图的疑惑
mconetemp
2011-07-27 05:06:36
小弟菜鸟,刚刚接触MFC不久,现在有个问题,就是我用读文件的方法,把一个bmp里面的内容读入一个BYTE数组(文件头信息头调色板都去掉了,只有像素矩阵部分),现在我想
通过这个数组进行贴图
,不知道有什么方法么?提前谢谢各位了!
PS,因为这个数组的内容被处理过了,我直接保存为bmp再从文件贴图没问题,但是就是太慢了,所以我想直接贴,希望各位大牛们帮帮我啊,谢了!~~~~~~~
...全文
174
15
打赏
收藏
[MFC]文件贴图的疑惑
小弟菜鸟,刚刚接触MFC不久,现在有个问题,就是我用读文件的方法,把一个bmp里面的内容读入一个BYTE数组(文件头信息头调色板都去掉了,只有像素矩阵部分),现在我想通过这个数组进行贴图,不知道有什么方法么?提前谢谢各位了! PS,因为这个数组的内容被处理过了,我直接保存为bmp再从文件贴图没问题,但是就是太慢了,所以我想直接贴,希望各位大牛们帮帮我啊,谢了!~~~~~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mconetemp
2011-08-02
打赏
举报
回复
恩,谢谢ls了……虽然木有人真正回答了我的问题,我换了一种方法解决了……
allenhiman
2011-08-01
打赏
举报
回复
如果用GDI+可能更简单吧
IStream * pStream = NULL;
::CreateStreamOnHGlobal( hMem, FALSE, &pStream);
pImage = Image::FromStream(pStream);
其中hMem就是你的那个BMP文件的BYTE*
allenhiman
2011-08-01
打赏
举报
回复
CBrush::CreateDIBPatternBrush
// Resource handle to bitmap.
HRSRC hRes;
// Global handles to bitmap resource.
HGLOBAL hData;
void* hLockedData;
CBrush brush;
// Find the resource handle.
hRes = ::FindResource(AfxGetResourceHandle(),
MAKEINTRESOURCE(IDB_BRUSH), RT_BITMAP);
if (hRes != NULL)
{
// Lock and Load (or Load and Lock).
if (((hData = ::LoadResource(AfxGetResourceHandle(),
hRes)) != NULL) &&
((hLockedData = ::LockResource(hData)) != NULL))
{
// Initialize the brush.
brush.CreateDIBPatternBrush((const void*)hLockedData,
DIB_RGB_COLORS);
// Select the brush into the device context.
CBrush* pOldBrush = pDC->SelectObject(&brush);
// Draw.
pDC->Rectangle(50, 50, 200, 200);
// Restore the original device context.
pDC->SelectObject(pOldBrush);
// Free the resource.
::FreeResource(hLockedData);
}
}
mconetemp
2011-08-01
打赏
举报
回复
up~大牛在哪呢~
mconetemp
2011-07-29
打赏
举报
回复
[Quote=引用 8 楼 topsupper 的回复:]
可以使用这个函数SetDIBits
具体用法查MSDN
祝你好运!
[/Quote]
但是里面有个BITMAPINFO我不知道怎么得到……infoheader我可以,但是这个类不知道怎么构造啊
Liekkas
2011-07-29
打赏
举报
回复
catyou
2011-07-29
打赏
举报
回复
有例子,在网上找一下,很好找的
Topsupper
2011-07-29
打赏
举报
回复
可以使用这个函数SetDIBits
具体用法查MSDN
祝你好运!
Wang471981125
2011-07-29
打赏
举报
回复
mconetemp
2011-07-29
打赏
举报
回复
[Quote=引用 4 楼 jiashilong_syit 的回复:]
这么复杂 不是现实位图吗?不是用BilBit(.....)吗?
[/Quote]
位图贴图的源数据是bmp文件时我会,如果就给了一段BYTE*数组,外加文件头信息头要怎么办呢
mconetemp
2011-07-29
打赏
举报
回复
[Quote=引用 3 楼 rjw1900 的回复:]
去看看我的资源里 有一个例子
[/Quote]
能给个链接么
jiashilong_syit
2011-07-28
打赏
举报
回复
这么复杂 不是现实位图吗?不是用BilBit(.....)吗?
树先生1991
2011-07-28
打赏
举报
回复
去看看我的资源里 有一个例子
mconetemp
2011-07-28
打赏
举报
回复
自己顶一下……
mconetemp
2011-07-27
打赏
举报
回复
我现在想的是能不能把矩阵转化为 CBitmap 再显示,但是我发现我用CreateBitmap产的的Cbitmap*无法用Seleceobject选入,所以就没法显示了……
《
MFC
游戏开发》笔记三 游戏
贴图
与透明特效的实现
本文介绍了在
MFC
游戏中使用CBitmap和CImage进行
贴图
的方法,包括透明
贴图
的实现。通过创建内存DC、加载资源位图、选择位图对象以及使用BitBlt函数进行绘制。同时提到了CImage类在处理PNG格式图片时的便利性。文章强调实践操作的重要性,并提供本节源代码下载链接。
(二)
MFC
学习之
贴图
本文介绍了在Win10+VS2017环境下,使用
MFC
进行位图加载和
贴图
的操作。通过CBitmap和CDC类,详细讲解了如何从
文件
加载BMP格式的位图,并在窗口的客户区进行按位与、按位或和颜色覆盖的绘图操作。同时,文章强调了图片格式必须为BMP,且路径应正确设置,否则可能导致无法显示。
MFC
控件
贴图
方法汇总
本文介绍了在
MFC
环境中为button控件和Picture控件
贴图
的方法。对于button控件,通过设置Owner Draw属性为TRUE,使用CBitmapButton类加载图片并进行绑定。Picture控件的静态
贴图
只需更改其type属性为Bitmap并指定位图资源ID。动态
贴图
则需要编程操作,加载位图资源并应用到Picture控件。
MFC
游戏开发:深入透明
贴图
技术及其源代码实现
本文深入探讨
MFC
游戏开发中的透明
贴图
技术,介绍了Alpha通道概念,讲解在
MFC
环境下利用GDI+库或DirectX实现透明效果的方法。还阐述了透明
贴图
在游戏开发中的应用实例、性能优化策略,进行源代码分析,并对未来趋势与
MFC
的定位做了展望。
MFC
中对窗口
贴图
本文介绍了在
MFC
中如何修改窗口背景,通过导入位图
文件
,创建View窗体的OnEraseBkgnd函数或OnDraw函数,利用位图对象、兼容DC和BitBlt函数将图片贴到窗口背景上,实现无闪烁效果。
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章