利用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

上一篇 下一篇

猜你喜欢

热点阅读