首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅在一个特定的JPEG文件上将PNG组合到JPEG失败(所有颜色都呈现为黑色)

仅在一个特定的JPEG文件上将PNG组合到JPEG失败(所有颜色都呈现为黑色)
EN

Stack Overflow用户
提问于 2012-02-04 15:30:56
回答 1查看 248关注 0票数 0

我正在构建一个应用程序,它使用Ruby+RMagick将PNG图像组合到不同的JPEG背景上。一切都在工作,但我们已经找到了一个特定的JPEG背景,它的PNG被合成为一个黑点。PNG的透明度受到尊重;“斑点”的形状是正确的,但颜色正在消失,变成黑色。

我尝试过许多JPEG试图找到一个产生相同结果的JPEG,但是(到目前为止)失败了。

我怀疑这可能与JPEG文件的位深度或其他参数有关。我一直在互联网上搜索,寻找一个工具,可以分析这个JPEG,并告诉我所有的参数可能是相关的,但还没有找到任何东西。

  1. 有发生过这样的事吗?原因是什么?根据您对JPEG格式的了解,
  2. 还有其他可能相关的参数吗?
  3. 您知道有什么工具可以分析JPEG文件,并告诉我比特深度和其他参数吗?或者,如果我用十六进制编辑器打开JPEG,您能告诉我如何找到这些信息吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-05 21:08:53

我仍然没有发现复合操作没有正确工作的JPG有什么特别之处,但我使用以下代码对其进行了处理:

代码语言:javascript
复制
back  = Magick::Image.from_blob(jpg_data).first
png   = Magick::Image.from_blob(png_data).first
page1 = Magick::Image.new(back.columns, back.rows)
page1.composite!(back, 0, 0, Magick::OverCompositeOp)
page1.composite!(png, png_x, png_y, Magick::OverCompositeOp)

而不是:

代码语言:javascript
复制
back  = Magick::Image.from_blob(jpg_data).first
png   = Magick::Image.from_blob(png_data).first
page1 = back.composite(png, png_x, png_y, Magick::OverCompositeOp)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9141962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档