欢迎来到天天文库
浏览记录
ID:17708084
大小:46.00 KB
页数:4页
时间:2018-09-04
《bmp图像缩放 函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ZoomDIB()该函数用来缩放DIB图像,返回新生成DIB的句柄1./************************************************************************* 2. * 3. * 函数名称: 4. * ZoomDIB() 5. * 6. * 参数: 7. * LPSTR lpDIB - 指向源DIB的指针 8. * fl
2、oat fXZoomRatio - X轴方向缩放比率 9. * float fYZoomRatio - Y轴方向缩放比率 10. * 11. * 返回值: 12. * HGLOBAL - 缩放成功返回新DIB句柄,否则返回NULL。 13. * 14. * 说明: 15. * 该函数用来缩放DIB图像,返回新生成DIB的
3、句柄。 16. * 17. ************************************************************************/ 18. 19. HGLOBAL WINAPI ZoomDIB(LPSTR lpDIB, float fXZoomRatio, float fYZoomRatio) 20. { 21. 22. // 源图像的宽度和高度 23.
4、 LONG lWidth; 24. LONG lHeight; 25. 26. // 缩放后图像的宽度和高度 27. LONG lNewWidth; 28. LONG lNewHeight; 29. 30. // 缩放后图像的宽度 31. LONG lNewLineBytes; 32. 33. // 指向源图像的指针 34. LPSTR lpDIBBits; 35.
5、 36. // 指向源象素的指针 37. LPSTR lpSrc; 38. 39. // 缩放后新DIB句柄 1. HDIB hDIB; 2. 3. // 指向缩放图像对应象素的指针 4. LPSTR lpDst; 5. 6. // 指向缩放图像的指针 7. LPSTR lpNewDIB; 8. LPSTR lpNewDIBBits; 9. 10. //
6、 指向BITMAPINFO结构的指针 11. LPBITMAPINFOHEADER lpbmi; 12. 13. // 指向BITMAPCOREINFO结构的指针 14. LPBITMAPCOREHEADER lpbmc; 15. 16. // 循环变量 17. LONG i; 18. LONG j; 19. 20. // 象素在源DIB中的坐标 21. LONG i0;
7、 22. LONG j0; 23. 24. // 图像每行的字节数 25. LONG lLineBytes; 26. 27. // 找到源DIB图像象素起始位置 28. lpDIBBits = ::FindDIBBits(lpDIB); 29. 30. // 获取图像的宽度 31. lWidth = ::DIBWidth(lpDIB); 32. 33. /
8、/ 计算图像每行的字节数 34. lLineBytes = WIDTHBYTES(lWidth * 8); 35. 36. // 获取图像的高度 37. lHeight = ::DIBHeight
此文档下载收益归作者所有