人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ImageMagicで、複数のbmp画像の(たとえば4枚)大きさを1/4に縮小し、
4枚を1枚にまとめ、画面に表示するスクリプトを教えてください。

最後は、display ???.bmp みたいになるかと思いますが、そのPIDを取得し、
kill で終了し、また次の4枚を合成し、1枚にし、表示するを延々行いたいと考えています。

●質問者: central_dogma
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●100ポイント

http://www.tryhp.net/homeserver16.htm

こちらに

次の例では縦横比を無視し、指定した大きさで生成しています。 複数の画像を合成してサムネイルされた1枚の画像を生成する場合などに有効です。

というのがあるので、これを利用して 指定した大きさを 画像のサイズの半分にして 4つの画像を合成するようにすればいいかと思います。


2 ● TransFreeBSD
●100ポイント

表示まではオンデマンドで出来そうです。

-delayか何かで自動的に終了してくれると有難いのですが……

一切動作確認していませんがsh + コマンドラインだとこんな感じでしょうか?

#!/bin/sh
while [ $# -ge 4 ] ; do
 convert \( $1 $2 +append \) \( $3 $4 +append \) -background none -append -resize 50% show: &
 shift 4
 sleep 3
 kill $!
done

もしくはファイルを一気に作ってしまって最後に「animate -delay 300 *.bmp」ってしてもいいかもしれません。

画像指定が複雑ならPerlMagickの方が良いかもしれません。

参考


3 ● a-kuma3
●100ポイント ベストアンサー

シェルスクリプトで良いんですよね?

#! /usr/bin/bash

TEMP_FILE=/tmp/thumbnail.bmp
INTERVAL=10

display_2x2 () {
montage -tile 2x2 -geometry '50%x50%' $1 $2 $3 $4 ${TEMP_FILE}
display ${TEMP_FILE} &
pid=$!
sleep ${INTERVAL}
kill -TERM ${pid}
}

display_2x2 a1.bmp a2.bmp a3.bmp a4.bmp
display_2x2 b1.bmp b2.bmp b3.bmp b4.bmp

四つのファイルの指定のイメージが分からなかったので、四つのファイルを渡すと

50% 縮小して、2×2で表示して、10秒たったら閉じる、というサブルーチンを書いてみました。


ImageMagick のコマンドについて、参考にしたのは、以下のページです。

http://nucleus.yaibeen.com/item21.html

http://nucleus.yaibeen.com/item22.html

http://www.imagemagick.org/Usage/


central_dogmaさんのコメント
こんな感じです?。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ