[ convert ] NOTE などの見出し画像の作成を簡単に
[ サイトマップを見る ]
概要:ターミナルから convert を使って,画像にテキストを挿入する方法をわかりやすく説明します。
NOTE などの見出し画像の作成を簡単に
NOTE では記事に見出し画像をつけます。
できれば,記事のタイトルとサブタイトルを書き込みたいと思います。しかし,毎回,アプリを起動して挿入するのはたいへんです。
そこでコマンドラインを使って,簡単に画像にテキストを挿入する方法を説明したいと思います。
手順
元の画像ファイルを作成する
画像ファイルにテキストを挿入する
元の画像ファイルを作成する
今回は,1200x900 の png 形式の画像ファイルを作ります。ターミナルで次のようにタイプしてリターンすると 1200x900 の背景色透明の png ファイルができます。
$ convert -size 1200x900 xc :none banner.png
より詳細な説明は以下の記事をご覧ください。
なにもない画像ですので,ご自身の好きなようにデザインしてください。私は月が好きなので,月の画像にしてみました。
画像ファイルにテキストを挿入する
convert を使ってテキストを挿入します。
convert -draw "text 490,380'MacOS & Linux'" -fill "#FFFFFF" -pointsize 60 -font "/System/Library/Fonts/ヒラギノ丸ゴ ProN W4.ttc" math-banner.png banner-macos_and_linux.png
テキストの表示位置を指定
-draw 以下に 490,380 と数値がカンマで区切られて並んでいます。これでテキストの表示位置を指定しています。
画像ファイルの位置は x 座標,y 座標で指定します。x 座標は横,y座標は縦です。
コンピュータでは数学とちがい,左上が (0,0) です。この場合,1200x900 の画像ファイルですと,右上は (1200,0) です。左下は (0,900)。それでは,右下は?
そう!(1200,900) です。
今回は(490,380)の位置からテキストを書き始めるよう設定しています。
表示するテキストの指定
シングルクオーテーション (') で囲まれたテキスト,「MacOS & Linux」がありますね。ここで表示するテキストを指定しています。
色の指定
色の指定は -fill 以下でカラーコードを使って指定します。この場合は FFFFFF となっています。白色です。カラーコードについては以下のリンクを見てください。
文字の大きさの指定
文字の大きさは -pointsize 以下の数値で指定しています。
フォントの指定
フォントの指定は -font 以下で用いるフォントのパスを指定しています。日本語を使う場合は日本語のフォントを用いないと期待しているような出力にはなりません。
元の画像ファイル名と出力する画像ファイル名
最後にファイル名が並んでいます。先がテキストを書き込む画像ファイルです。次がテキストを書き込んだ画像ファイル名です。
上のコマンドをターミナルで実行すると,以下の画像ファイルを得ることができます。
サブタイトルも入れる
サブタイトルを入れたい場合は,テキストの表示位置やフォントの大きさなどに注意して,例えば,次のようにタイプしてリターンします。
$ convert -draw "text 490,450'convertで画像を生成する" -fill "#FFFFFF" -pointsize 40 -font "/System/Library/Fonts/ヒラギノ丸ゴ ProN W4.ttc" banner-macos_and_linux.png banner-macos_and_linux_convert.png
そうすると,以下のような画像を得ることができます。
一度作ってしまえば,テキストを指定するだけで簡単に,見出し画像を作成することができます。
結構,便利ですよ。チャレンジしてみましょう。
関連する書籍
Daniel J. Barrett (著)「Efficient Linuxコマンドライン ―開発と自分に磨きをかけるLinuxのテクノロジー」(オライリージャパン)
Mokhtar Ebrahim (著) 「マスタリングLinuxシェルスクリプト 第2版 ―Linuxコマンド、bashスクリプト、シェルプログラミング実践入門」(オライリージャパン)
Michael Hausenblas (著)「入門 モダンLinux ―オンプレミスからクラウドまで、幅広い知識を会得する」(オライリージャパン)
[ サイトマップを見る ]
この記事が気に入ったらサポートをしてみませんか?