在内存中绘制文本并在C ++中另存为JPG?

时间:2012-06-06 09:43:42

标签: c++ gdi

有人可以给我一些示例代码,用于将文本绘制到位图(而不是屏幕),然后使用C ++(不使用MFC或.NET等)保存为jpeg吗?我已经尝试了几个我在互联网上找到的样本,但他们没有工作。一个人给了我一个黑色的图像。

2 个答案:

答案 0 :(得分:1)

要在直接C ++中完成所有操作,您需要编写JPEG库和文本呈现库。这既不切实际也毫无意义(你正在重新发明轮子)。

通过排除MFC或.NET,您只能使用DirectX或OpenGL(或者可能是GDI?但这是特定于Windows的 - 以及非常糟糕的API)。

在OpenGL中渲染文本并非易事。虽然早期版本的DirectX(例如DX9)内置了文本功能,但我不知道它们是否被剥离出DirectX 11(它们在DX11中削减了大量的脂肪)。

对于输出到Jpeg文件,我知道DX9支持输出为JPEG文件格式(as in this API call)。

一般来说,当人们要求他们发布代码时,stackoverflow的人不喜欢,这就是人们投票给你问题的原因。鉴于你的得分为269,你已经足够长时间知道了。

如果您正在寻找示例代码,请查看github上的开源项目,Google代码等。您一定会找到您正在寻找的内容。祝你的搜索顺利。

答案 1 :(得分:0)

文本非常重要 - 至少在引入字体,缩放,旋转等时。结帐gdlib,它做的事情相当不错。如果你不能使用第三方库,请避免使用JPEG,因为它实现算法远非琐碎。不过Bmp或者tga应该是直截了当的。