C++图像处理?图像显示
作者:网络转载 发布时间:[ 2015/1/7 11:15:40 ] 推荐标签:C++ net
阅读提示:
《C++图像处理》系列以代码清晰,可读性为主,全部使用C++代码。
《Delphi图像处理》系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM。
尽可能保持二者内容一致,可相互对照。
本文代码必须包括《C++图像处理 -- 数据类型及公用函数》文章中的BmpData.h头文件以及《C++图像处理 -- 图像合成》中的有关代码。
在《C++图像处理 -- 图像合成》一文中开始时说过,图像的合成操作包括图像显示、图像拷贝、图像拼接以及的图层拼合叠加等,本文在《C++图像处理 -- 图像合成》代码基础上介绍如何在Windows环境下进行图像显示。
图像显示代码如下:
VOID GetBitmapInfoHeader(CONST BitmapData *data, CONST PBITMAPINFO pbi)
{
pbi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
pbi->bmiHeader.biWidth = data->Width;
pbi->bmiHeader.biHeight = data->Height;
pbi->bmiHeader.biPlanes = 1;
pbi->bmiHeader.biBitCount = (data->PixelFormat >> 8) & 0xff;
pbi->bmiHeader.biCompression = BI_RGB;
}
//---------------------------------------------------------------------------
VOID GetDCImageData(HDC DC, INT x, INT y, BitmapData *data, PBITMAPINFO pbi)
{
HBITMAP bitmap = CreateCompatibleBitmap(DC, data->Width, data->Height);
HDC memDC = CreateCompatibleDC(DC);
HBITMAP saveBitmap = (HBITMAP)SelectObject(memDC, bitmap);
BitBlt(memDC, 0, 0, data->Width, data->Height, DC, x, y, SRCCOPY);
SelectObject(memDC, saveBitmap);
DeleteDC(memDC);
GetDIBits(DC, bitmap, 0, data->Height, data->Scan0, pbi, DIB_RGB_COLORS);
DeleteObject(bitmap);
}
//---------------------------------------------------------------------------
VOID BitBltImageData(HDC DC, INT x, INT y, CONST BitmapData *data, PBITMAPINFO pbi)
{
HBITMAP bitmap = CreateDIBitmap(DC, &pbi->bmiHeader, CBM_INIT, data->Scan0, pbi, DIB_RGB_COLORS);
HDC memDC = CreateCompatibleDC(DC);
HBITMAP saveBitmap = (HBITMAP)SelectObject(memDC, bitmap);
BitBlt(DC, x, y, data->Width, data->Height, memDC, 0, 0, SRCCOPY);
SelectObject(memDC, saveBitmap);
DeleteDC(memDC);
DeleteObject(bitmap);
}
//---------------------------------------------------------------------------
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南