怎么用代码把制作好的图片输出来呀?

我们需要做一个东西
先使用ps制作图片,然后用vs将这个图片输出
思想是:先把这个图片制作好,然后用c++将其输出(因为只接触过C语言,有vc++的环境,这些都只学了基础课)

https://blog.csdn.net/marginmou/article/details/42525729#comments

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    答案:

    可以使用Windows API中的GDI+来实现将图片输出。

    步骤如下: 1. 导入GDI+库:

    #pragma comment(lib,"gdiplus.lib")
    #include <gdiplus.h>
    using namespace Gdiplus;
    
    1. 创建一个Gdiplus::Image对象:
    Bitmap bmp(L"文件路径"); // 如果图片和代码在同一目录下可直接使用文件名,如:Bitmap bmp(L"pic.jpg");
    if (bmp.GetLastStatus() != Ok) {
        std::cerr << "Failed to load image!" << std::endl;
        return 1;
    }
    
    1. 创建一个DC,然后将图片画到DC上:
    HDC hdc = GetDC(NULL); // 获取屏幕DC
    Graphics graphics(hdc);
    
    graphics.DrawImage(&bmp, 0, 0, bmp.GetWidth(), bmp.GetHeight()); // 将图片画到DC上
    
    ReleaseDC(NULL, hdc); // 释放屏幕DC
    

    完整代码如下:

    #pragma comment(lib,"gdiplus.lib")
    #include <gdiplus.h>
    
    using namespace Gdiplus;
    
    int main()
    {
        GdiplusStartupInput gdiplusStartupInput;
        ULONG_PTR gdiplusToken;
        GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
    
        Bitmap bmp(L"文件路径");
        if (bmp.GetLastStatus() != Ok) {
            std::cerr << "Failed to load image!" << std::endl;
            return 1;
        }
    
        HDC hdc = GetDC(NULL);
        Graphics graphics(hdc);
        graphics.DrawImage(&bmp, 0, 0, bmp.GetWidth(), bmp.GetHeight());
        ReleaseDC(NULL, hdc);
    
        GdiplusShutdown(gdiplusToken);
        return 0;
    }
    

    注意事项: - 如果不调用GdiplusStartup()和GdiplusShutdown()函数会导致内存泄露,所以必须在使用Gdiplus库之前调用GdiplusStartup(),在使用完之后调用GdiplusShutdown()。 - 要使用ULONG_PTR类型来存储返回值,因为在64位系统中ULONG是4字节,而ULONG_PTR是8字节。 - 绝对路径和相对路径都可以,但是相对路径必须要在可执行文件目录下有对应的图片。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^