如何改变CBit地图类中位图文件的分辨率,并且能用GetBit地图Bits提取到他的图像数据
怎么改变CBitmap类中位图文件的分辨率,并且能用GetBitmapBits提取到他的图像数据
把一张CBitamp对象中BITMAP的位图,比如800*600的,改变成1024*768的,并且可以用GetBitmapBits提取到他的图像数据
------解决方案--------------------
用指定大小另创建一个位图,用两个内存DC分别选入这两个位图,用StretchBlt复制图象,再把位图从DC中选出。
------解决方案--------------------
给你发个GDI+的
把一张CBitamp对象中BITMAP的位图,比如800*600的,改变成1024*768的,并且可以用GetBitmapBits提取到他的图像数据
------解决方案--------------------
用指定大小另创建一个位图,用两个内存DC分别选入这两个位图,用StretchBlt复制图象,再把位图从DC中选出。
------解决方案--------------------
给你发个GDI+的
- C/C++ code
Bitmap* ScaleBitmap(Bitmap * pBitmap, UINT nWidth, UINT nHeight) { Bitmap *pBmp = new Bitmap(nWidth,nHeight, pBitmap->GetPixelFormat()); Graphics *gdiOjb = Graphics::FromImage(pBmp); gdiOjb->SetInterpolationMode(InterpolationModeHighQualityBicubic);// 使用高质量的插补算法 gdiOjb->DrawImage(pBitmap,0,0,nWidth,nHeight); delete gdiOjb; return pBmp; }