tinamini.comの画像変換のバグ修正

tinamini.comの画像変換の際に起こっていたバグを修正しました。

たまーにPCからサイトがちゃんと機能しているかな?
とチェックしているんですが、稀に画像の一部が欠けている画像が有りました。
今にして思えば、白黒の絵にこのバグが発生していた気がします。

例:【東方4コマ1475】 松
http://www.tinamini.com/view/739648

赤丸で囲んでいる部分です。

739648_re_before_2

めっちゃ画像が欠けていますな・・・・
なんでだろうなーと思ってコードをいじくっていたら、どうやらここが原因っぽい。

$image->Quantize(colorspace => 'RGB') if $image->Get("colorspace") ne 'RGB';

調査の結果、カラースペースを変換する際に
元画像のカラースペースが Gray だった場合に、
変換がうまく行っていないというのがわかりました。
なので、

#$image->Quantize(colorspace => 'RGB') if $image->Get("colorspace") ne 'RGB';
if($image->Get("colorspace") ne "Gray" && $image->Get("colorspace") ne 'RGB'){
  $image->Quantize(colorspace => 'RGB');
}

カラースペースが RGBとGray以外の場合には
カラースペースを RGBに変更するようにしました。
結果、

739648_re_after_2

バッチシ直ったよーヽ(=´▽`=)ノ

これからも tinamini.com をよろしくお願いします。

ではでは。

PC

Posted by namahage