c_cpp 使用GDI +组合图像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 使用GDI +组合图像相关的知识,希望对你有一定的参考价值。
VOID OnPaint_TryCombineImage(HDC hdc)
{
Graphics graphics(hdc);
Image image(L"qrcode1.bmp");
CLSID clsid;
Status status;
UINT num; // number of image encoders
UINT size; // size, in bytes, of the image encoder array
ImageCodecInfo* pImageCodecInfo;
Bitmap bitmap(image.GetWidth()*3, image.GetHeight(), PixelFormat24bppRGB);
Graphics* pg = Graphics::FromImage(&bitmap);
SolidBrush solidBrush(Color(255, 255, 255, 255));
pg->FillRectangle(&solidBrush, 0, 0, image.GetWidth()*3, image.GetHeight());
pg->DrawImage(&image, 0, 0);
pg->DrawImage(&image, 200, 0);
CachedBitmap cachedBitmap(&bitmap, &graphics);
graphics.DrawCachedBitmap(&cachedBitmap, 0, 0);
GetImageEncodersSize(&num, &size);
pImageCodecInfo = (ImageCodecInfo*)(malloc(size));
GetImageEncoders(num, size, pImageCodecInfo);
clsid = pImageCodecInfo[0].Clsid;
status = bitmap.Save(L"output.bmp", &clsid, NULL);
printf("status=%d\n", status);
delete pg;
}
以上是关于c_cpp 使用GDI +组合图像的主要内容,如果未能解决你的问题,请参考以下文章
使用 GDI() 仅保留图像的红色通道
c++ 使用新的图像 gdi+
向使用 GDI+ 绘制的图像添加文本
在 .NET 中使用 GDI 调整图像大小会降低饱和度
使用 gdiplus 打印 png24 图像时 GDI 内存泄漏
c_cpp 使用按键控制图像