• ベストアンサー

ImageMagickで横幅のピクセルを指定して元の画像と縦横比を維持してサイズ変更したい。

 お世話になっております。  ImageMagickで 横幅のピクセルのみを指定して 元の画像と縦横比を維持してサイズ変更したい  さらにImageMagickで横幅のピクセルのみを指定して 元の画像と縦横比を維持した サイズ変更後の縦幅のピクセルが何ドットか も取得したいのですが  よいコードの書き方はないでしょうか? Perl ImageMagick 数学に詳しい方、よろしくお願いいたします。

noname#179638
noname#179638
  • Perl
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.1

よいコードというのは敷居が高いのですが、これで参考にはならないでしょうか? ## 画像リサイズ ## 画像の処理 my $gazo = Image::Magick->new(); $gazo->Read('画像ファイル名'); ## 画像サイズ取得 my ($w1,$h1) = $gazo->Get('columns','height'); # イメージの幅と高さ ## 画像の縦横の最大サイズ my $w = 400; my $h = 300; ## 画像の縦長・横長判定 if(($w1 * 0.75) > $h1){ ## 幅が大きい場合 if($w1 > $w){ $h = int(($w / $w1) * $h1); ## 高さ算出 $gazo->Resize(width => $w, height => $h); } }else{ ## 高さが大きい場合 if($h1 > $h){ $w = int(($h / $h1) * $w1); ## 幅算出 $gazo->Resize(width => $w, height => $h); } } ## 通常画像出力 $gazo->Profile(); $gazo->Write('出力ファイル名');

noname#179638
質問者

お礼

 補足の方向でコードを書こうかと思います。 「教えて!gooサービス」利用規約第14条の4項の規定により投稿内容の著作権(プログラムのバイナリ、ソースコードも)がNTTレゾナントに帰属してしまうため教えて!gooには掲載しません。

noname#179638
質問者

補足

 すいません、「横幅だけ指定」としてしまいましたが 極端に縦幅が長い画像ファイルもアップロードされることが ありうるため縦横それぞれの最大幅を指定したほうがよさそうです。  たとえばサイズ変更後の 最大横幅 最大縦幅 をあらかじめ決めておいて 元のサイズの 横幅 縦幅 とそれぞれ比較して計算、元画像の 横幅 縦幅 と 変更後の 最大横幅 最大縦幅 との比率をパーセンテージで求め その計算結果から縦横それぞれ収まりきるサイズ変更率を決定し そのサイズ変更率の(当然ながら)少ないほうを(元の画像と縦横比を維持した)最終的なサイズ変更率として 決定する、みたいな方法はございませんでしょうか? つまり75%のような決め打ちでなく計算でサイズ変更率を算出できませんでしょうか? みなさま、そんなに敷居高く感じなくてもよいので どなたか、よろしくお願いいたします。

関連するQ&A

  • Jtrimで元画像の縦横比を維持したままトリミングする方法を教えてくだ

    Jtrimで元画像の縦横比を維持したままトリミングする方法を教えてください。 座標指定切り取りの窓の中に「縦横比を維持する」のチェックボックスがあるところまではわかっています。元画像の縦横比を調べたりしなくても、photoshop elementsのように、元画像の縦横比を維持する制限の中でしか切り取り範囲選択できないように設定し操作できればいいなと思っています。 参考URLを載せておきます。http://sakura.canvas.ne.jp/spr/sabuchan/jtrim/guide/trim.html

  • Flashで外部読み込み画像の縦横比を維持したままリサイズするには?

    Flashで、外部読み込み画像を、指定したサイズにリサイズして読み込みたいと思い、 ネットで色々と検索してみて、下記のスクリプトに辿り着いたのですが、 このスクリプトだと、読み込む画像の縦横比が、サイズ指定した縦横比と違った場合でも、 無理矢理に指定したサイズの縦横比にリサイズされて読み込まれてしまいます。 要点を掻い摘んで説明すると、、、 ========================================================== 読み込む画像の、 横幅が 120以上の大きさなら、横幅を 120にリサイズして、 縦の大きさは、それに比例して縮小。 縦の大きさが 160以上なら、縦の大きさを 160にリサイズして、 横幅は、それに比例して縮小。 ========================================================== と言った事がしたいのです。 ↑上記のように、縦横比を維持したまま、外部読み込み画像を リサイズして読み込むには、一体どうすれば良いのでしょうか? ネットで丸1日かけて調べてみましたが、どうしても、その方法が分からず、 途方に暮れています。 どなたか、Flashで外部読み込み画像の縦横比を維持したままリサイズする方法を ご存知の方が居られましたら、何卒ご教示よろしくお願い致しますm(_ _)m --------------------------------------------------- var mcLoader:MovieClipLoader = new MovieClipLoader(); var listenerObject:Object = new Object(); listenerObject.onLoadInit = function() { photoFrame._width = 120; photoFrame._height = 160; }; mcLoader.addListener(listenerObject); mcLoader.loadClip("photo001.jpg", photoFrame); --------------------------------------------------- 環境 / win XP / Flash CS3 / アクションスクリプト 2.0

    • ベストアンサー
    • Flash
  • AzWM9SFのピクセル縦横比

    AzWM9SFを使ってwmvに変換しようと思っているのですが、 サイズを元ファイルと同じ 720x480 のまま、ピクセル縦横比を使って 16:9 にしたいと思っているのですが、 ピクセル縦横比の計算方法を教えてください。

  • ピクセル縦横比

    PhotoshopでA4サイズを横向きにした時のピクセル縦横比はいくらになりますか?

  • 画像の縦横比とプリント

    私、先日デジタルカメラを購入しました。 画像サイズを見ると、3008×2000ピクセルとなっています。 縦横比の変更は出来ないようです。 ということはA4の用紙にプリントする場合、縦横比にズレが生じてしまいますよね。 この場合画像の一部がカットされてしまいますよね。 みなさん、プリントに際して、どのような方法でこの縦横比の ズレに対応されておりますでしょうか。 ご教示くだされば助かりますです。

  • 早速ですが、1ドット当りの縦横比を自由に変更できる描画ソフトを探してお

    早速ですが、1ドット当りの縦横比を自由に変更できる描画ソフトを探しております。 ドットそのものの縦横比を変えることが出来なくても、擬似的に縦横比の異なるグリットを作成して そのグリットを最小基準(最小ピクセル?)として描画することが出来れば良いのですが・・・ 現在、フォトショップ6.0を使用していますが、1ピクセルは正方形で固定です。 もしフォトショップで1ピクセルの縦横比を変えることが出来れば問題解決なのですが、 調べたところ不可能のようです。 なにか良いソフトがあればご紹介して頂きたいと思います。 初めての質問になります。何か不手際が有りましたお許し下さい。 宜しくお願いいたします。

  • 縦横を指定ピクセルで切り抜きしたい

    質問失礼致します。 ホームページに使う画像を編集してるのですが、 縦と横のピクセルを保ったまま切り抜きをする方法が分かりません。 使っているソフトはフォトショップとJTrimです。 たとえば縦横比を固定したまま、幅400×高さ600の画像を、幅400×高さ500などで上下を削ったりしたいのです。 最初にその400×500の枠を作って切り抜く場所を指定できれば便利だなと思うのですが・・・ うまく説明できなくて申し訳ないのですが、分かるかたいましたら教えていただけると助かります。 よろしくお願い致します。

  • Photoshopで既存のシェイプや画像のサイズをピクセルで知りたい

    Photoshopにすでに配置されている写真やシェイプなどの正確なサイズを知ることはできるのでしょうか。 操作対象をクリックして編集>自由変形を選択し、オプションバーのWやHにピクセルを入力すると、そのピクセルサイズに変形できますが、すでに配置済みのもののサイズをピクセルで知ることはできるのでしょうか。 またピクセルサイズを指定して縦横比を維持したまま拡大・縮小する方法はあるのでしょうか。 いろいろ調べましたが、わからずにいます よろしくお願いします。

  • 画像の縦横比固定の計算方法。

    画像の縦横比固定の計算方法。 プログラムで画像を縦横比固定でサイズ計算したいのですがどのように計算すればいいのでしょうか? 画像を縦横比固定で画面サイズに合わせて拡大縮小したいと思っています。 調べてみたのですが、調べ方が悪かったのか見つけることが出来ませんでした。 カテゴリは数学になるとは思うのですが、プログラムでの計算なのでこちらにしました。 プログラムでなくても、計算方法が分かればいいので、文章のみでも構いません。

  • 黄金比

    デジタル画像を作りたいのですが サイズが黄金比になるようにしたいんです。 横幅が500pixelの画像を作る場合、 縦幅を何pixelにすれば黄金比になるでしょうか? 横幅が500pixelで、縦幅はそれよりも短くしたいのです。 長方形の長いほうのサイズが500pixelという意味です。 もし分かる方いらっしゃいましたら教えて下さい! 単位がpixelなので、むずかしいでしょうか・・ 一応自分でも黄金比について検索してみたのですが 計算式とか出てきて、バカなわたしは 頭が痛くなってきました・・お恥ずかしい事ですが・・ ですので、簡単な黄金比の計算の仕方も教えて頂けると 大変ありがたいです。。あくまで簡単な。。 恥ずかしいですがルートとかも全然わかりませんので・・ もちろん一番知りたいのは、 横幅500pixelに対する縦幅ですが!

専門家に質問してみよう