【问题标题】:Looking for an ActiveX Component capable of rendering PNG’s transparency and translucency [closed]寻找能够呈现 PNG 的透明度和半透明度的 ActiveX 组件 [关闭]
【发布时间】:2023-12-06 04:47:01
【问题描述】:

我需要一个组件或某种方式在我的应用程序上呈现 PNG 以改进其设计。我相信某个地方应该存在一些控制,但我没有找到它。 我在 Visual Dataflex 上进行开发,我只能使用 Windows 的 API 和基于 COM 的组件。我没有使用 C++ 类的 GDI+。 如果找不到免费的解决方案,我会在 C++ 上构建一些组件,但应该有一种方法可以更轻松、更成功地做到这一点。

有人有什么建议吗?

原谅我的英语。 亲切的问候。

小克劳迪奥·M·苏萨。

开发者。

【问题讨论】:

  • 你有一个名为“Visual”的开发工具不能显示位图?
  • 讽刺的是,确实如此。它构建 Win32 应用程序,调用每个窗口的 api,但不渲染 png,除非通过 COM 组件。我无法访问窗口过程,这很难自己处理 WM_PAINT,但也不是不可能。

标签: c++ com png activex dataflex


【解决方案1】:

libpng 网站有完整的实现列表:

Programming Libraries and Toolkits with PNG Support

这个看起来很有趣(开源,支持win32):http://www.paintlib.de/paintlib/(未经测试)。它不再维护,但包含源代码,如果它过去多年运行良好,今天没有太多理由面临大问题。

它不是基于 COM 的,但这对您来说是个问题吗?

【讨论】:

  • 感谢您的回复。是否呈现半透明和透明?