valid,invalidvalid,invalid読者になるvalid,invalid関心を持てる事柄について2014-05-10画像を指定の枠に収まるようにリサイズ&余白を透明化Perl業務で必要になり、Perlでの画像加工処理を書いた。実現したいこと画像のアスペクト比を維持したまま、指定したサイズの枠に収まるようにリサイズ指定したサイズの枠の中心に画像を貼り付け、余白は透明にする今回は透明のキャンバスを作り、その上にリサイズした画像を貼り付けることで実現する。画像を出力$canvas->Write("$dst");【実行結果】この猫の画像(1600x1200)を600x400の枠に収めようとすると、出力結果はこんな感じになる。クリックするとリサイズの効果と、左右に透明の余白があることがわかる(はず)。いえあまりにわかりにくいのでExcelに貼り付け、画像に枠線を付けてみたのが↓。Perlは半年以上前にいくつか手探りでバッチ作ったけど、それを除けばほとんど書いたことなし。今回は文法をおさらいしつつ書いたけど、いまいちPerlの文化というか作法みたいなのはわからず...。Image::Magick便利。【追記(2014/05/11)】そういえば拡張子によっては透過って対応してないような...と思い、png/gif/jpgと試していった。したらjpgだと余白が透過になっておらず、調べるとjpgは透過できないぽい。透過背景とか使いたい場合は対応している拡張子で保存するようにする。Image::MagickのRead/Write処理では記述した拡張子で読み込み/保存を行ってくれるとのこと。指定して画像を貼り付ける初POI。5はてなブログをはじめよう!ohbaryeさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。