我正在构建一个应用程序,它使用Ruby+RMagick将PNG图像组合到不同的JPEG背景上。一切都在工作,但我们已经找到了一个特定的JPEG背景,它的PNG被合成为一个黑点。PNG的透明度受到尊重;“斑点”的形状是正确的,但颜色正在消失,变成黑色。
我尝试过许多JPEG试图找到一个产生相同结果的JPEG,但是(到目前为止)失败了。
我怀疑这可能与JPEG文件的位深度或其他参数有关。我一直在互联网上搜索,寻找一个工具,可以分析这个JPEG,并告诉我所有的参数可能是相关的,但还没有找到任何东西。
发布于 2012-02-05 21:08:53
我仍然没有发现复合操作没有正确工作的JPG有什么特别之处,但我使用以下代码对其进行了处理:
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)而不是:
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)https://stackoverflow.com/questions/9141962
复制相似问题