実現したい事
user_image(以下、ユーザー画像)とitem_image(以下、アイテム画像)をImagemagickに取り込みcompositeで画像合成をしたい。
html
1class VirtualFittingsController < ApplicationController 2 def index 3 @item = Item.find(params[:item_id]) 4 user_image = MiniMagick::Image.open(rails_blob_url(current_user.images[0])) 5 item_image = MiniMagick::Image.open(rails_blob_url(@item.images[4])) 6 7 8 result = user_image.composite(item_image) do |config| 9 config.compose 'Over' 10 config.gravity 'NorthWest' 11 config.geometry '+0+0' 12 end 13 result.format("jpg") 14 result.write("storage/virtualfitting/virtualfitting#{current_user.id}.jpg") 15 end 16end
詰まっている箇所
ユーザー画像とアイテム画像をimagemagickで読み込み画像を合成させることはできたがアイテム画像が回転してしまい、合成されてしまう
合成された画像
https://gyazo.com/49d5683514a67c63507f43735b9d6240
試した事
html
1 item_image = MiniMagick::Image.open(rails_blob_url(@item.images[4])) 2 #item_image.format("jpg") 3 #item_image.write("item_image.png")
上記のコードを用いて、アイテム画像単体で画像を生成してみたがアイテム画像は横にならず縦のまま画像を生成していることを確認した、
正しく縦に生成されているアイテム画像
https://gyazo.com/059e3cd08a4ee655149d258f55f74fd0
以上から分かった事はおそらく
result = user_image.composite(item_image) do |config|
で画像合成をした段階でアイテム画像が横になってしまい合成されたと思われるが、なぜ横になってしまうのかがわからない、どなたかわかる方がいらっしゃいましたらご教授いただけると幸いです。
何卒よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。