【问题标题】:Looking for image library with certain specifications [closed]寻找具有特定规格的图像库 [关闭]
【发布时间】:2012-01-20 19:05:37
【问题描述】:

经过多次尝试和错误,我得出结论,解决我的问题的唯一方法是找到一个支持某种格式的JPEG图像的图像库。这种特殊格式是 Adob​​e 的,Delphi 似乎无法正确识别它(它总是呈蓝色)。否则,图像会在大多数其他应用程序(Windows 图片查看器、ms word、paint、photoshop 等)中正确显示。刚加载到 Delphi 中时,TJpegImage 会误解它并将图像变成蓝色。

我已经尝试过TWICImage,这非常接近解决方案,但是在Windows XP 中使用TWICImage 时,蓝色图像问题仍然存在。

所以现在,我正在寻找一个...

  • 正确支持 Adob​​e 的这种不太标准的 JPEG 格式
  • 至少对于 Delphi XE2 是免费且完全开源的
  • 与 Delphi 中当前的 VCL 图形一样易于使用(基于 TGraphic

...如果可以的话就太好了...

  • 具有自动保存缩略图的内置功能(以某种形式的缓存)
    • 这是为了提高性能 - 我们保留 400x400 的缩略图以对应所有原件。如果存在缩略图,则在大多数情况下会加载该缩略图而不是原始缩略图。
  • 具有基本操作的内置功能,例如旋转和背景擦除

同样,最重要的是正确支持这种 Adob​​e 格式的 JPEG 图像。请参阅my previous question。请记住,我们不想要比我们需要的功能多 100 倍的东西(例如分层、特殊 fx 等)。我首先需要这个库的唯一原因是解决一个非常特殊的问题这已在我们的客户群中广泛传播。

【问题讨论】:

  • 花了一些时间,但我们最终到达了那里
  • @DavidHeffernan 哈哈哈好吧,让我这么说吧:我的老板喜欢各种各样的选择,然后再决定哪个是最好的。
  • Delphi XE2 没有这样的文件Jpeg.pas - 看不到代码。
  • 没有。你之前的问题。您想知道如何破解标头开头的 18 个字节的那个。我想知道这是否有效。正如其他人所说,我希望它没有。
  • 我没有对这个问题投过票,但我猜你最近一系列问题的方式导致一些人投了反对票。

标签: image delphi delphi-xe2


【解决方案1】:

NativeJpg,SimDesign 至少满足前三个标准,并且支持无损 90° 旋转。您的测试图像在使用它时显示正确(棕色),并且它支持除 Adob​​e 之外的许多其他颜色空间。有些图像的颜色可能与 Photoshop 略有不同,根据作者的说法,这是由于规范中的含糊不清; Opera 和其他各种图像查看器以相同的方式对其进行解码。

大多数 JPEG 属性和支持都通过其自己的类结构公开,但也有一个 TGraphic 后代。它是 100% 德尔福。它以前是商业的,但现在是开源的,具有 BSD 许可证,并且可以选择购买支持和访问 beta 版本。

当前版本 (1.32) 在forums 中提供。

【讨论】:

  • +1 被接受,因为 a) 我现在至少听说过这个名字几次(就像下面的 RRUZ)和 b) 你提供了更多关于它如何帮助我解决问题的信息。谢谢!
  • 对于 BSD 许可的代码,真的很难下载。
  • 告诉我。我点击“下载”链接,它会将我带到一个与下载无关的随机论坛页面。
  • Nils 一直在通过论坛发布更新。我在我的答案中添加了指向当前版本的线程的链接。不幸的是,他有一些健康问题,所以我认为他一直在优先处理网站的源代码。
  • 刚刚意识到:他最多支持 DXE - 而我有 DXE2。它在第 120 行的sdFileList.pas 中崩溃:[DCC Error] sdFileList.pas(120): E2010 Incompatible types: 'PWideChar' and 'PAnsiChar'
【解决方案2】:

试试NativeJpg v.1.30,这个库会检测到Adobe APP14 标记并正确解码JPEG 图像,我会针对你的棕色/蓝色图像测试这个库并且运行良好。甚至带有demo application,您可以使用它来加载您的 jpeg 图像并在使用它之前测试库。

【讨论】:

  • +1 但克雷格解释得更好:D
  • @JerryDodge 我真的建议你在你原来的comment 中使用这个库question
  • 确实如此,但是我必须确保我得到的库与我的场景最匹配。问了新问题,因为我必须更清楚地指出规格。
猜你喜欢
  • 2012-08-24
  • 1970-01-01
  • 2017-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-07
  • 2015-08-22
  • 1970-01-01
相关资源
最近更新 更多