怎么得到图像的内容?
我用下面的代码把桌面保存到文件"pict.bmp"中。保存成功。
现在我想直接输出CSTring,可是不正确。请问原因。我该怎么改?
我不能获得lpData。但它确实存在,并正确。
现在我想直接输出CSTring,可是不正确。请问原因。我该怎么改?
我不能获得lpData。但它确实存在,并正确。
CDC dc;
CDC tdc;
CBitmap bm;
CBitmap *pOld;
dc.CreateDC("DISPLAY", NULL, NULL, NULL);
int Width = GetSystemMetrics(SM_CXSCREEN);
int Height = GetSystemMetrics(SM_CYSCREEN);
bm.CreateCompatibleBitmap(&dc, Width, Height);
tdc.CreateCompatibleDC(&dc);
pOld = tdc.SelectObject(&bm);
//复制图像
tdc.BitBlt(0, 0, Width, Height, &dc, 0, 0, SRCCOPY);
tdc.SelectObject(pOld);
BITMAP btm;
bm.GetBitmap(&btm);
DWORD size = btm.bmWidthBytes * btm.bmHeight;
LPSTR lpData = (LPSTR)GlobalAllocPtr(GPTR, size);
CString st;
st.Format("%d, %d",size, sizeof(lpData));
MessageBox(st);//输出“5184000, 4”
BITMAPINFOHEADER bih;
bih.biBitCount = btm.bmBitsPixel;
bih.biClrImportant = 0;
bih.biClrUsed = 0;
bih.biCompression = 0;
bih.biHeight = btm.bmHeight;
bih.biPlanes = 1;
bih.biSize = sizeof(BITMAPINFOHEADER);
bih.biSizeImage = size;
bih.biWidth = btm.bmWidth;
bih.biXPelsPerMeter = 0;
bih.biYPelsPerMeter = 0;
GetDIBits(dc, bm, 0, bih.biHeight, lpData, (BITMAPINFO*)&bih, DIB_RGB_COLORS);
st.Format("%d, %d",size, sizeof(lpData));
MessageBox(st);//输出“5184000, 4”
CString stout;
stout = lpData;
st.Format("%d",stout.GetLength());
MessageBox(st);//输出“3”
BITMAPFILEHEADER bfh;
bfh.bfReserved1 = bfh.bfReserved2 = 0;
bfh.bfType = ((WORD)('M'<< 8)|'B');
bfh.bfSize = 54+size;
bfh.bfOffBits = 54;
CFile bf;
if(bf.Open("pict.bmp", CFile::modeCreate|CFile::modeWrite))
{
bf.WriteHuge(&bfh, sizeof(BITMAPFILEHEADER));
bf.WriteHuge(&bih, sizeof(BITMAPINFOHEADER));
bf.WriteHuge(lpData, size);
bf.Close();
nCount++;
}
GlobalFreePtr(lpData);
...全文
相关推荐
ImageColorSorting:查找图像的原色,按颜色内容过滤它们并将它们分类显示在列表中
#ImageColorSorting 找出构成一堆图像的颜色,尝试按颜色内容过滤图像,然后查看它们。 不错,嗯? 我试图保持这个简单,因为它是一个快速的 hack 或实验,用来展示 javascrip
数字图像处理简答题及答案...doc
数字图像处理的主要研究内容包括图像采集、图像增强、图像恢复、图像识别、图像压缩、图像编码和解码等。1. 数字图像处理的主要研究内容包含哪些方面?
行业分类-设备装置-一种进行图像内容识别的方法和装置.zip
那么,一项完整的图像内容识别系统是如何工作的呢?首先,系统将对输入的图像进行预处理,包括图像降噪、去模糊和色彩校正等,以确保后续分析的准确性。
CBIR.rar_CBIR是什么东西_blobworld_cbir.rar_基于内容的图像检索_形状特征
CBIR是什么东西?CBIR是一种不同于传统关键词搜索的图像检索方法。
PS CC2018如何使用填充替换原图的文本内容?
Photoshop是图像处理软件,那么你知道如何使用填充替换原图的文本内容吗?下面我们跟着以下图文教程,学习一下具体的操作方法吧!


图形处理/算法
