2012-02-04 3 views
0

Ruby + RMagickを使用して様々なJPEG背景にPNG画像を合成するアプリケーションを構築しています。すべてが機能しています、しかし、私たちはPNGが黒い点として合成されている1つの特定のJPEG背景を見つけました。 PNGの透明性が尊重されます。 「スポット」の形状は正しいが、色は失われて黒くなっている。JPEGにPNGを合成すると、特定の1つのJPEGファイルにのみ失敗する(色はすべて黒で表示されます)

私は同じ結果をもたらす別のものを見つけるために多くのJPEGを試しましたが、(これまでのところ)失敗しました。

私は、それが問題のJPEGファイルのビット深度またはその他のパラメータと関係する可能性があると考えます。私はこのJPEGを分析し、関連性のある可能性のあるすべてのパラメータを教えてくれるツールを探していますが、まだ何も見つかりませんでした。

  1. このようなことが起こったことはありますか?原因は何ですか?
  2. JPEG形式の知識に基づいて、関連性のあるその他のパラメータはありますか?
  3. JPEGファイルを解析できるツールを知っていて、ビット深度などのパラメータを教えてください。または、16進エディタでJPEGを開くと、この情報を見つける方法を教えてください。

答えて

0

私はまだ、複合操作が正常に動作しませんが、私はこのコードを使用して、その周りに働いたその1つの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) 
+0

問題のJPGがRGBとは異なる色モデルを使用している可能性があります。 –

関連する問題