您的位置:程序门 -> vc/mfc -> 图形处理/算法



为什么stretchdibits不能显示图片?大家帮帮我,很急,多谢!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


为什么stretchdibits不能显示图片?大家帮帮我,很急,多谢![已结贴,结贴人:5311]
发表于:2007-06-10 14:28:49 楼主
m_pbuf   为数据缓存

//cccddemoview.h中定义
bitmapinfo m_bitmapinfo;
bitmapinfoheader m_bitmaphander;
byte   * m_pbuf;


cccddemoview::cccddemoview()
{
//   todo:   add   construction   code   here
m_pbuf   =   null;
m_bitmaphander.bisize   =   sizeof(bitmapinfoheader);
m_bitmaphander.biwidth   =   256;
m_bitmaphander.biheight   =   256;
m_bitmaphander.biplanes   =   1;
m_bitmaphander.bibitcount   =   1;
m_bitmaphander.bicompression   =   bi_rgb;
m_bitmaphander.bisizeimage   =   0;
m_bitmaphander.bixpelspermeter   =   0;
m_bitmaphander.biypelspermeter   =   0;
m_bitmaphander.biclrused     =0;
m_bitmaphander.biclrimportant   =   0;
m_bitmapinfo.bmiheader   =   m_bitmaphander;
}

void   cccddemoview::ondraw(cdc*   pdc)
{
cccddemodoc*   pdoc   =   getdocument();
assert_valid(pdoc);
//todo
stretchdibits(pdc-> m_hdc,  
0,  
0,
256,
256,
0,
0,
256,
256,
m_pbuf,
&m_bitmapinfo,
dib_rgb_colors,
srccopy);

//   todo:   add   draw   code   for   native   data   here
}

在lbuttondown函数中会得到m_pbuf,然后调用invalidate显示,但是图片显示不出来,大家帮忙看看怎么回事,多谢!
发表于:2007-06-11 09:19:531楼 得分:0
帮帮忙吧,兄弟们!
发表于:2007-06-11 09:44:102楼 得分:20
m_bitmaphander.bibitcount   =   1;这句你检查一下,你的数据是多少色的,黑白两色,256色,还是真彩24位,要显示位图数据,针对数据,位图头结构设置是主要问题
发表于:2007-06-11 10:41:183楼 得分:0
楼上的兄弟,位图是黑白两色!


快速检索

最新资讯
热门点击