【问题标题】:Add text/annotation to PNG image using C使用 C 向 PNG 图像添加文本/注释
【发布时间】:2013-05-21 06:08:34
【问题描述】:

我用 C 语言编写了一个小工具,可以从数据库中的数据生成图像。这些图像是 PNG 格式,现在我需要在图像中添加一些文本。我找不到任何关于如何在 PNG 图像中创建文本的示例。我正在使用 libpng 库,并且想在调用 png_write_png 之前简单地添加几行来负责将文本添加到图像中。

谁能指出一个简单的“Hello World”示例,其中这两个词在图像中可见。

这可以用 libpng 完成还是我需要使用 MagickImage 或类似来实现?

提前致谢

【问题讨论】:

  • 仅供参考:不是简单的“Hello World,而是 the PNG 参考。libpng.org/pub/png
  • 图片中的“添加文字”是什么意思?您的意思是在文件中添加文本 cmets,还是在图像本身上添加视觉字母?
  • 我想在图像本身上添加视觉字母。在将图像写入光盘然后添加所有必要的文本后,我找到了一种运行 ImageMagick 的方法。如果有一种简单的方法可以使用 libpng 将可视文本添加到图像本身,我想避免使用其他工具
  • 是的,你需要一个实际的图形库。

标签: c text annotations png libpng


【解决方案1】:

不,你不能。 libpng 是一个用于将原始光栅图像编码(解码)为(从)PNG 格式文件的库。它与高级图像处理任务无关。你不能指望一个低级编码/解码库 a libpng 来,例如,旋转图像,检测边框等......更不用说将字符串转换为数字图像(像素),这是一个非常涉及字体光栅化的高级任务。这类任务在原始图像领域(在内存中)执行,与您选择的存档格式无关。

为了实现您的目标,您应该尝试使用一些图像渲染/处理库或工具;这取决于您的平台:例如,libgdImageMagick 是一个有效的替代方案。

【讨论】:

  • 非常感谢您的回答。我以为会是这样。一旦图像由 libpng 创建,我目前正在使用 ImageMagick 实现“图像上的可见文本”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-30
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多