| http://www.zk168.com.cn 招考学习网 2006-4-11 5:25:33 |
|
| -----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]-- |
|
| Graphics::TBitmap* Spirite=new Graphics::TBitmap(); bool bkey=true; int iCount=0; TColor ColorKey=clWhite; Spirite->LoadFromFile("D:\\bcbbak\\resource\\traffic.bmp"); Width=Spirite->Width;Height=Spirite->Height; for(int i=0;i<Spirite->Height;i++) { bkey=true; for(int j=0;j<Spirite->Width;j++) { if(Spirite->Canvas->Pixels[j][i]==ColorKey) bkey=true; else{ if(bkey) iCount++; bkey=false;} } } byte* pData; RGNDATA* pRgnData; RECT* pRect; int iIndex=0,iLeft=0; pData=new Byte[sizeof(RGNDATAHEADER)+sizeof(RECT)*iCount]; pRgnData=(RGNDATA* )pData; pRect=(RECT* )(pData+sizeof(RGNDATAHEADER)); pRgnData->rdh.dwSize= sizeof( RGNDATAHEADER ) ; pRgnData->rdh.iType= RDH_RECTANGLES; pRgnData->rdh.nCount= iCount; pRgnData->rdh.nRgnSize = sizeof( RECT )*iCount; pRgnData->rdh.rcBound.left= 0; pRgnData->rdh.rcBound.top= 0; pRgnData->rdh.rcBound.right=Spirite->Width; pRgnData->rdh.rcBound.bottom=Spirite->Height; for( int i=Spirite->Height-1;i>=0;i--) //因为Bitmap位图在Y方向是颠倒的所以要从底部开始 { bkey = TRUE ; iLeft = -1; for( int j=0;j<Spirite->Width;j++) { if(Spirite->Canvas->Pixels[j][i]==ColorKey ) {if( !bkey ) {pRect[iIndex].left =iLeft; pRect[iIndex].right=j; pRect[iIndex].top=Spirite->Width-i-1; pRect[iIndex].bottom=Spirite->Height-i; bkey=TRUE ;iIndex++ ;iLeft=-1; } } else if(bkey){iLeft=j; bkey=false;} } if(iLeft>=0) { pRect[iIndex].left=iLeft ; pRect[iIndex].right=Spirite->Width; pRect[iIndex].top=i; pRect[iIndex].bottom=i; iIndex++; } } bool br=ExtCreateRegion(NULL,sizeof( RGNDATAHEADER )+sizeof(RECT)*iCount,pRgnData); if(!br) { ShowMessage("Create Form Failed."); Close(); } delete[] pData;
|
| -----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]-- |
友情提醒:
1.库中的资料大都来自互联网、网友上传、各类书籍,在录入的过程中难免会出现错误,恳请网 友来信指正!
2.如果网友在本库中未能找到所需要的材料,请登陆到我们的论坛《招考学习网》版块!
3.考友想加入招考学习网的编辑部,请发信到XueXiWang#Gmail.com(#改为@)附带个人简历
4.如需转载请注明出处及作者,谢谢合作!
5.如果您有更好的建议或意见请EMAIL:XueXiWang#Gmail.com (#改为@)
6.凡标题中有注有“[NO]”字样均不含答案且答案整理中.
7.如本库中转载文章涉及版权等问题,请相关网站或作者在两周内发邮件通知(EMAIL: XueXiWang#Gmail.com (#改为@))我们,我们接到通知后立即删除该文章及链接! |
|