私のサービスにはWeb版とiPhone版があります。iPhone では、アップロード時にトリミングすることで、ユーザーが正方形バージョンを送信できるようにします。ウェブサイトへのアップロードも許可していますが、そのような機能はありません。
そのため、アップロードされた画像を 612 * 612 領域に合わせて拡大縮小したいと思います。これを達成するための最良の方法は何ですか?
Ruby / mini_magick を使用しています
私のサービスにはWeb版とiPhone版があります。iPhone では、アップロード時にトリミングすることで、ユーザーが正方形バージョンを送信できるようにします。ウェブサイトへのアップロードも許可していますが、そのような機能はありません。
そのため、アップロードされた画像を 612 * 612 領域に合わせて拡大縮小したいと思います。これを達成するための最良の方法は何ですか?
Ruby / mini_magick を使用しています
MiniMagickのメソッドを使用するだけですresize
。Github ページに例があります。
おそらく、メモリ内に一連のバイトとして画像があるため、次のようになります。
image = MiniMagick::Image.read(your_image_bytes)
image.resize('612x612')
scaled_image_bytes = image.to_blob
# Or image.write(filename)
MiniMagick は、サイズ設定に標準の ImageMagick ジオメトリ文字列を使用し、ファイン マニュアルからジオメトリを使用しWxH
ます。
指定された高さと幅の最大値、縦横比は保持されます。
を使用'612x612'
すると、縦横比を維持しながら 612px の正方形に収まるように画像がスケーリングされます。
また、Jcropを使用して、Web ユーザーがアップロードした画像を正方形に収まるようにトリミングできるようにすることもできます。