当前位置: 首页 > wzjs >正文

做网站汉狮网络seo站长工具 论坛

做网站汉狮网络,seo站长工具 论坛,如何做公司推广,网站建设商业计划书下载本应用 本应用获取屏幕图像,保存到bmp,jpg,png图片。下面是应用的界面图像。 应用的主要代码 C屏幕截图Dlg* pDlg (C屏幕截图Dlg*)pParam;//CRect rect;截图矩形,已指定大小CWnd* pDesktop pDlg->GetDesktopWindow();C…

下载本应用
本应用获取屏幕图像,保存到bmp,jpg,png图片。下面是应用的界面图像。
在这里插入图片描述

应用的主要代码

	C屏幕截图Dlg* pDlg = (C屏幕截图Dlg*)pParam;//CRect rect;截图矩形,已指定大小CWnd* pDesktop = pDlg->GetDesktopWindow();CDC* pDesktopDC = pDesktop->GetDC();CDC mDC;mDC.CreateCompatibleDC(pDesktopDC);//创建兼容DCCBitmap bmp;bmp.CreateBitmap(rect.Width(), rect.Height(), 1, 32, NULL);//创建32位位图mDC.SelectObject(&bmp);mDC.BitBlt(0, 0, rect.Width(), rect.Height(), pDesktopDC, rect.left, rect.top, SRCCOPY);LONG len = rect.Width() * rect.Height() * 4;BYTE* lpData = (BYTE*)(LPVOID)GlobalAlloc(GMEM_FIXED | GMEM_ZEROINIT, len);//分配内存bmp.GetBitmapBits(len, lpData);//获取位图位mDC.DeleteDC();pDlg->ReleaseDC(pDesktopDC);pDlg->AutoBmp(lpData, rect.Width(), rect.Height());//创建bmp//pDlg->GBmp256(lpData, rect.Width(), rect.Height());//创建灰度bmp//pDlg->Jpg(lpData, rect.Width(), rect.Height());//创建jpg//pDlg->Png(lpData, rect.Width(), rect.Height());//创建pngGlobalFree(lpData);int AddTable(CArray<RGBQUAD, RGBQUAD>* pColorTable, RGBQUAD color)
{int Count = pColorTable->GetCount();for (int i = 0; i < Count; i++){RGBQUAD TableColor = pColorTable->GetAt(i);if (TableColor.rgbBlue == color.rgbBlue && TableColor.rgbGreen == color.rgbGreen && TableColor.rgbRed == color.rgbRed)return i;}pColorTable->Add(color);return Count;
}void C屏幕截图Dlg::AutoBmp(BYTE* pB, int w, int h)//首先尝试创建256色位图,如果颜色数量大于256,创建24位位图
{int ColorCount;int len;int Width = w;if (Width % 4)Width = Width / 4 * 4 + 4;//确保行的宽度是4的倍数len = Width * h;CArray<RGBQUAD, RGBQUAD> ColorTable;BYTE* p256B = new BYTE[len];BYTE* pS = NULL; BYTE* pD = NULL;for (int y = 0; y < h; y++){pS = pB + w * 4 * y;pD = p256B + Width * (h - y - 1);for (int x = 0; x < w; x++){RGBQUAD color = { pS[0], pS[1], pS[2],pS[3] };*pD = (BYTE)AddTable(&ColorTable, color);pS += 4; pD++;ColorCount = ColorTable.GetCount();if (ColorCount > 256){delete[] p256B;Bmp24(pB, w, h);//创建24位位图return;}}}BITMAPFILEHEADER Fhdr;//位图文件头Fhdr.bfType = ((WORD)('M' << 8) | 'B');Fhdr.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + 256 * 4 + len;//整个文件的大小Fhdr.bfReserved1 = 0;Fhdr.bfReserved2 = 0;Fhdr.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + 256 * 4;//从文件开头到图像数据的偏移量BITMAPINFOHEADER biHeader;//位图信息头ZeroMemory(&biHeader, sizeof(BITMAPINFOHEADER));biHeader.biSize = sizeof(BITMAPINFOHEADER);biHeader.biWidth = w;biHeader.biHeight = h;biHeader.biPlanes = 1;biHeader.biBitCount = 8;biHeader.biCompression = BI_RGB;biHeader.biSizeImage = len;biHeader.biClrUsed = 256;CFile F;F.Open(_T("截图.bmp"), CFile::modeCreate | CFile::modeWrite);F.Write(&Fhdr, sizeof(Fhdr));//写位图文件头F.Write(&biHeader, sizeof(biHeader));//写位图信息for (int i = 0; i < 256; i++)//写颜色表{RGBQUAD color;if (i < ColorCount){color = ColorTable.GetAt(i);}else{color.rgbBlue = 0; color.rgbGreen = 0; color.rgbRed = 0; color.rgbReserved = 0;}F.Write(&color, 4);}F.Write(p256B, len);//写图像数据F.Close();delete[] p256B;
}void C屏幕截图Dlg::GBmp256(BYTE* pB, int w, int h)//创建灰度位图
{int len;int Width = w;if (Width % 4)Width = Width / 4 * 4 + 4;//确保行的宽度是4的倍数len = Width * h;BYTE* p256B = new BYTE[len];BYTE* pS = NULL; BYTE* pD = NULL;for (int y = 0; y < h; y++){pS = pB + w * 4 * y;pD = p256B + Width * (h - y - 1);for (int x = 0; x < w; x++){*pD = (BYTE)(0.299 * pS[2] + 0.587 * pS[1] + 0.114 * pS[0]); //亮度值pS += 4; pD++;}}BITMAPFILEHEADER Fhdr;//位图文件头Fhdr.bfType = ((WORD)('M' << 8) | 'B');Fhdr.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + 256*4 + len;//整个文件的大小Fhdr.bfReserved1 = 0;Fhdr.bfReserved2 = 0;Fhdr.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + 256*4;//从文件开头到图像数据的偏移量BITMAPINFOHEADER biHeader;//位图信息头ZeroMemory(&biHeader, sizeof(BITMAPINFOHEADER));biHeader.biSize = sizeof(BITMAPINFOHEADER);biHeader.biWidth = w;biHeader.biHeight = h;biHeader.biPlanes = 1;biHeader.biBitCount = 8;biHeader.biCompression = BI_RGB;biHeader.biSizeImage = len;biHeader.biClrUsed = 256;CFile F;F.Open(_T("截图.bmp"), CFile::modeCreate | CFile::modeWrite);F.Write(&Fhdr, sizeof(Fhdr));//写位图文件头F.Write(&biHeader, sizeof(biHeader));//写位图信息BYTE zero = 0, val;for (int i = 0; i < 256; i++)//写颜色表{val = (BYTE)i;F.Write(&val, 1); F.Write(&val, 1); F.Write(&val, 1); F.Write(&zero, 1);}F.Write(p256B, len);//写图像数据F.Close();delete[] p256B;
}void C屏幕截图Dlg::Bmp24(BYTE* pB, int w, int h)//创建24位位图
{int bmWidthBytes = w * 3;if (bmWidthBytes % 4)bmWidthBytes = bmWidthBytes / 4 * 4 + 4;//确保行的宽度是4的倍数int len = bmWidthBytes * h;BYTE* p24B = new BYTE[len];int i = 0;for (int y = 0; y < h; y++){int j = bmWidthBytes * (h - y - 1);for (int x = 0; x < w; x++){p24B[j] = pB[i];  p24B[j + 1] = pB[i + 1]; p24B[j + 2] = pB[i + 2]; i += 4; j += 3;}}BITMAPFILEHEADER Fhdr;//位图文件头Fhdr.bfType = ((WORD)('M' << 8) | 'B');Fhdr.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + len;//整个文件的大小Fhdr.bfReserved1 = 0;Fhdr.bfReserved2 = 0;Fhdr.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);//从文件开头到图像数据的偏移量BITMAPINFOHEADER biHeader;//位图信息头ZeroMemory(&biHeader, sizeof(BITMAPINFOHEADER));biHeader.biSize = sizeof(BITMAPINFOHEADER);biHeader.biWidth = w;biHeader.biHeight = h;biHeader.biPlanes = 1;biHeader.biBitCount = 24;biHeader.biCompression = BI_RGB;CFile F;F.Open(_T("截图.bmp"), CFile::modeCreate | CFile::modeWrite);F.Write(&Fhdr, sizeof(Fhdr));//写位图文件头F.Write(&biHeader, sizeof(biHeader));//写位图信息F.Write(p24B, len);//写图像数据F.Close();delete[] p24B;
}void C屏幕截图Dlg::Jpg(BYTE* pB, int w, int h)
{CBitmap bmp;bmp.CreateBitmap(w, h, 1, 32, pB);CImage image;image.Attach((HBITMAP)bmp);image.Save(L"截图.jpg", Gdiplus::ImageFormatJPEG);
}void C屏幕截图Dlg::Png(BYTE* pB, int w, int h)
{CBitmap bmp;bmp.CreateBitmap(w, h, 1, 32, pB);CImage image;image.Attach((HBITMAP)bmp);image.Save(L"截图.png", Gdiplus::ImageFormatPNG);
}

下载本应用

http://www.dtcms.com/wzjs/293993.html

相关文章:

  • 网站建设开发计划书刷百度关键词排名优化
  • 专业的设计网站黄页网络的推广网站有哪些类型
  • 感觉做的比较好的健身网站武汉seo工作室
  • 网站建设计划书指数是什么意思
  • 乌鲁木齐网站技术服务电话合肥搜索引擎优化
  • 吉林省建设行业继续教续网站seo外链代发
  • 做请帖网站网络广告案例以及分析
  • 网站开发维护多少钱最新seo教程
  • 杭州seo渠道排名seo中文意思是
  • 大型购物网站建设软文写手接单平台
  • 网站建设销售发展前景关键词规划师
  • 企业电商网站商城建设yoast seo教程
  • 做ppt的动图下载哪些网站市场营销考试题目及答案2022
  • 小红书推广网站宁宁网seo
  • 怎么做能够让网站流量大网络推广如何收费
  • 济南三维动画制作公司seo顾问培训
  • 手机网站漂浮怎么做河南网站推广优化排名
  • 衡阳百度推广seo基础优化包括哪些内容
  • 做网站用突发性实例可以吗百度关键词排名推广话术
  • 域名申请而完成以后怎么做网站百度怎么推广广告
  • 做vb程序的网站深圳正规seo
  • 怎么做一个网站多少钱搜索引擎优化的分类
  • 西宁做网站的公司捌君博力请seo实战培训教程
  • 故事网站模版福建省人民政府
  • 如何做自动交易网站谷歌浏览器安卓版下载
  • 企业微网站案例企业如何做好网络营销
  • 网站界面是什么做的深圳网站制作推广
  • 网站做支付宝 微信模块黄页污水
  • wordpress justnews百度seo怎么关闭
  • 杭州萧山网站建设网站设计就业