2017-12-11 8 views
1

この美しいクリスマスボールのような異なるサイズの画像を含むGIFに画像の背景を追加したいと思います。ここで異なるサイズの画像を含むgifに背景を追加する(R magick)

enter image description here

私が試したコードです:

#install.packages("magick") 
    library(magick) 
    setwd("C:/Users/...") 
    christmas <- image_read('christmas.gif') 
    background <- image_blank(250, 250, color = "red") 
    frames <- image_composite(background, christmas, offset = "+0+0") 
    animation <- image_animate(frames, fps = 5) 
    image_write(animation, "output.gif", format="gif") 

そしてここでは、恐ろしい結果です!

enter image description here

問題は、背景画像を追加するときに画像が移動しているので、ボールGIFの3つの画像は同じサイズではないことです。

 > christmas 
     format width height colorspace matte filesize 
     1 GIF 216 249  sRGB TRUE 47656 
     2 GIF 202 233  sRGB TRUE 47656 
     3 GIF 200 214  sRGB TRUE 47656 

この問題を解決する方法が見つかりませんでした:あなたがクリスマス前に私を助けることができたら、それは素晴らしいことでしょう!

ありがとうございます!

答えて

1

問題は、フレームを合体して同じサイズにする必要があります。その後、後で再び最適化します。 ImageMagickので、私はどうなる:

convert ornament.gif -coalesce -background red -alpha background -alpha off -layers optimize ornament2.gif 

enter image description here

申し訳

http://www.imagemagick.org/script/command-line-options.php#coalesce http://www.imagemagick.org/Usage/masking/#alpha http://www.imagemagick.org/Usage/anim_opt/#optimize

を参照してください。私はRMagickで同等のコマンドを知りません。しかし、彼らはおそらく同様の名前を持っています。うまくいけば、これはあなたが正しい方向を指すようになります。

+0

ありがとうございます。 Rに合体機能はありませんが、同等のものがimage_animateだと思って、うまくいくものが見つかりました。 – antuki

関連する問題