2012-02-04 1 views
0

Ruby + RMagick을 사용하는 PNG 이미지를 다양한 JPEG 배경으로 합성하는 응용 프로그램을 작성하고 있습니다. 모든 것이 작동하지만 이지만 우리는 PNG가 검은 색 점으로 합성 된 특정 JPEG 배경을 발견했습니다. PNG 투명성이 존중됩니다. "자리"의 모양은 정확하지만 색상이 손실되어 검은 색으로 변합니다.하나의 특정 JPEG 파일에서만 PNG를 JPEG로 합성 (색상이 모두 검정색으로 렌더링 됨)되지 않습니다.

동일한 결과를 산출하는 다른 JPEG를 찾으려고 시도했지만 (지금까지) 실패했습니다.

문제의 JPEG 파일의 비트 심도 또는 다른 매개 변수와 관련이있는 것으로 의심됩니다. 나는이 JPEG를 분석 할 수있는 툴을 찾고, 관련성이있을 수있는 모든 매개 변수를 알려주지 만 아직 아무것도 발견하지 못했던 도구를 찾고 인터넷을 검색 해왔다.

  1. 이런 일이 발생 했습니까? 원인은 무엇입니까?
  2. JPEG 형식에 대한 지식을 기반으로 관련성이있는 다른 매개 변수가 있습니까?
  3. JPEG 파일을 분석 할 수있는 도구를 알고 계시고 비트 깊이 및 기타 매개 변수를 알려주십시오. 또는 16 진수 편집기에서 JPEG를 열면이 정보를 찾는 방법을 알려주실 수 있습니까?
난 아직도 복합 작업이 제대로 작동하지 않습니다 하나 JPG에 대한 특별한 무엇을 발견하지 않은,하지만이 코드를 사용하여 주위에 일

답변

0

:보다 오히려

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와 다른 색상 모델을 사용했을 수도 있습니다. –