ImageMagicで、複数のbmp画像の(たとえば4枚)大きさを1/4に縮小し、

4枚を1枚にまとめ、画面に表示するスクリプトを教えてください。

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

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:
  • 終了:2011/11/03 11:25:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.3

回答回数4973ベストアンサー獲得回数2154

ポイント100pt

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

#! /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/

id:central_dogma

こんな感じです~。

2011/11/24 17:50:20

その他の回答2件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント100pt

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

こちらに

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

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

id:TransFreeBSD No.2

回答回数668ベストアンサー獲得回数268

ポイント100pt

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

-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の方が良いかもしれません。

参考

id:a-kuma3 No.3

回答回数4973ベストアンサー獲得回数2154ここでベストアンサー

ポイント100pt

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

#! /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/

id:central_dogma

こんな感じです~。

2011/11/24 17:50:20

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません