わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

PowerPointで800x600の画像を作る

PowerPointで文字や絵を自由に配置して,そのまま,BMPまたはPNGまたはJPGで保存すると,画像サイズが960x720になります.
これまで,そうでないサイズの画像にしたければ,まず保存して,それから例えば

convert -geometry 800x600 元のファイル名 保存するファイル名

としていたのですが,今回,そういう画像を多数作ることになり,その都度convert*1というのは手間なので,PowerPointの設定で800x600にできないか,方法を探ってみました.
まず,960x720という数字が,なじみではありません.画面サイズでも,デジカメ写真のサイズでも,見たことがないですね….
この数字はどういう根拠なのかなと,少し調べてみると,あっさり見つかりました.

PowerPointの画面サイズは、デフォルト(初期値)では、横25.4cm×縦19.05cmとなっています。inchに直すと、 10inch×7.5inchです。Windowsではディスプレイの解像度は96dpi(1inchあたり96pixel)ですので、画面サイズは 960pixel×720pixelとなるわけです。

SoftTips/PowerPoint - ふぃらなか labo.

ということで,ページ設定で,幅と高さを変えればいいのです*2が,PowerPoint 2007で「ページ設定」を見つけるのに少し苦労しました.「デザイン」タブを選んで,左端でしたね.
欲しいのは800x600のサイズなので,計算しておきましょう.

$ echo 'scale=2; 800*2.54/96; 600*2.54/96' | bc
21.16
15.87

実行コマンドを少し解説しておきますと,bcコマンドで,計算をしています.標準入力から式を獲得するのですが,「echo 入力 |」として,パイプを使って与えています.入力の中の「scale=2」は,小数第2位まで出力するという指定で,これを書かないと,整数の「21」「15」しか出てきません.掛け算と割り算を含む式では一般に,掛け算を先にした(または,分子と分母の計算を別々にして,最後に「/」で割り算する)ほうが,最初の数を割って掛けて,とするよりも,誤差が少なくなります.実際,800*2.54/96を800/96*2.54に置き換えると,21.15と出ました.
では,PowerPointに戻って,ページ設定で幅に21.16(cm),高さに15.87(cm)を書けばいいのかというと,これでは799x599のサイズになってしまいます*3.bcで再確認を.

$ echo '21.16*96/2.54; 15.87*96/2.54' | bc
799
599
$ echo '21.17*96/2.54; 15.88*96/2.54' | bc
800
600

幅を21.17(cm),高さを15.88(cm)にして,念のためpptファイルとして保存し,bmpにすると,うまくいきました.

*1:今回の実行はすべてWindows環境で行っています.convertコマンドも,bcコマンドも,Cygwinに入っています.

*2:では,レジストリを書き換えてdpiを変更するという方法を紹介していますが,手間がかかる上に,そのPCで編集するすべてのPowerPointファイルに影響するという問題点があります.

*3:実際,やってしまいました.