gpt4 book ai didi

c++在位图上绘制图像并保存

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:56:18 26 4
gpt4 key购买 nike

//背景随意跳过

我正在为我的 Windows 桌面背景创建一个动画时钟。基本上,我使用预先绘制的图像(时钟的数字)用代码创建一个 bmp 图像,然后保存 bmp 图像并将桌面背景设置为该图像。我尝试使用 c# 和 .Net,但为了设置桌面背景,我必须调用 WinApi 函数 (SystemParametersInfo)。从 c# 调用此函数几乎需要一秒钟。动画太长了。

所以现在我想在 C++ 中做同样的事情,我希望从非托管代码调用 SystemParametersInfo 会更快。编辑:我使用 c# 创建 bmp 和 c++ 来设置桌面背景,速度更快

//问题

我使用 Visual Studio 2012 创建了一个 Win32 控制台项目,我设法将预绘制的图像作为资源嵌入。现在我需要将图像组合到一个位图上并将其保存到硬盘上。自从我上次用 c++ 编程以来已经四年了,所以我不知道如何绘制图像并保存它。

我在谷歌搜索时发现的代码都必须在屏幕上绘画,我显然不想这样做。

那么如何创建位图,在其上绘制资源图像(也是位图),并将其全部保存在 C++ 中?

感谢您的帮助。

最佳答案

这个问题更多是关于 Windows API 而不是 C++。如果要使用 Windows API,请引用 GDI+:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms533798.aspx

.NET Framework 包装了 GDI+,因此您可能只熟悉 C++ 中的类,而不熟悉具有手动内存管理等的 C#。

还有一些其他库可以处理图像。就我个人而言,我喜欢 GD,这是一个具有多种语言绑定(bind)的 C 风格图像处理库。

https://bitbucket.org/libgd/gd-libgd/downloads

但是,与开源一样,您必须自己构建它以及依赖项。因此,GDI+ 可能是最好的。

关于c++在位图上绘制图像并保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18286545/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com