利用GDI+在内存中绘图,并保存成图片文件
2019-03-02 本文已影响0人
叶迎宪
#include <windows.h>
#include <gdiplus.h>
#pragma comment(lib, "Gdiplus.lib")
int main()
{
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
int width = 1080;
int height = 1920;
// Initialize GDI+.
Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
Gdiplus::Bitmap bitmap(width, height, PixelFormat24bppRGB);
Gdiplus::Graphics graphics(&bitmap);
Gdiplus::SolidBrush brush(Gdiplus::Color(255, 255, 255));
graphics.FillRectangle(&brush, 0, 0, width, height);
Gdiplus::Pen pen(Gdiplus::Color(255, 0, 0));
graphics.DrawLine(&pen, 0, 0, 500, 500);
CLSID jpg_sid;
CLSIDFromString(L"{557cf401-1a04-11d3-9a73-0000f81ef32e}", &jpg_sid);
bitmap.Save(L"e:\\1.jpg", &jpg_sid, NULL);
}
参考
https://docs.microsoft.com/zh-cn/windows/desktop/gdiplus/-gdiplus-using-gdi--use
https://stackoverflow.com/questions/1584202/gdi-bitmap-save-problem