Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【ImageMagick】画像ファイルの任意の範囲を抜き出す

convertコマンドに抜き出す範囲を-cropオプションで指定をすることで、任意の範囲を抜き出すことができる。

ImageMagickのロゴの画像ファイルで試す。まず、ロゴの画像を作成する。

PS > magick logo: logo.png
PS > magick identify logo.png
logo.png PNG 640x480 640x480+0+0 8-bit sRGB 256c 27398B 0.000u 0:00.000

f:id:munibus:20181120070650p:plain

ロゴ画像の大きさは、横640ピクセル、縦480ピクセルである。

左40ピクセル分と上80ピクセル分を取り除いた横600ピクセル縦400ピクセルの画像を作成してみる。

PS > magick convert logo.png -crop 600x400+40+80 logo600x400.png
PS > magick identify logo600x400.png
logo600x400.png PNG 600x400 640x480+40+80 8-bit sRGB 256c 24449B 0.000u 0:00.000

f:id:munibus:20181127232212p:plain

-cropオプションは書式がいろいろ決まっており、柔軟に指定をすることができる。例えば、ただ単に左40ピクセル、上80ピクセルを取り除いた画像を作成するのであれば、以下のようにも指定できる。

PS > magick convert logo.png -crop +40+80 logo600x400_2.png
PS > magick identify logo600x400_2.png
logo600x400_2.png PNG 600x400 640x480+40+80 8-bit sRGB 256c 24449B 0.000u 0:00.000

f:id:munibus:20181127232406p:plain

右40ピクセル、下80ピクセルを取り除いた画像を作成するのであれば、以下のように指定する。

PS > magick convert logo.png -crop -40-80 logo600x400_3.png
PS > magick identify logo600x400_3.png
logo600x400_3.png PNG 600x400 640x480+0+0 8-bit sRGB 242c 23714B 0.000u 0:00.000

f:id:munibus:20181127232440p:plain

書式の詳細については、以下を参照のこと。
https://imagemagick.org/script/command-line-processing.php#geometry

【Excel 2013】シートの見出しを表示する

シートの見出しが表示されなくなったときは、以下の手順で表示させることができる。

  1. リボン「ファイル」→「オプション」
  2. 左側のメニューで「詳細設定」をクリック。右側の「次のブックで作業するときの表示設定」で、「シート見出しを表示する」をチェックする。
  3. 「OK」ボタンをクリックする。

【ImageMagick】画像ファイルの大きさと色数を得る

identifyコマンドを使う。以下は、ImageMagickのロゴの画像ファイルを大きさと色数を調べた例。

PS > magick logo: logo.png
PS > magick identify logo.png
logo.png PNG 640x480 640x480+0+0 8-bit sRGB 256c 27398B 0.000u 0:00.000

画像ファイルの大きさは3つ目の出力。「640x480」のとおり、横方向に640ピクセル、縦方向に480ピクセルの大きさということ。

色数は7つ目の出力。「256c」のとおり256色の画像ファイルということ。

【ImageMagick】ロゴの画像ファイルを作成する


画像操作等の練習に使えるImageMagickのロゴの画像ファイルは、magickコマンドで簡単に作成することができる。ファイル名を「logo.png」としてPNG形式で作成する。

PS > magick logo: logo.png

第2引数に指定したファイル名の拡張子を変えることで、様々な保存形式の画像を得ることができる。下の画像は、jpg形式で作成した例。

f:id:munibus:20181120070650p:plain

 

【TeX】「 _ 」(アンダースコア、アンダーバー)を表示する

TeXでは、「 _ 」(アンダースコア、アンダーバー)は特殊文字のため、そのまま入力するとコンパイルできない。

A_B

コンパイル不可)

「 _ 」を表示させるには \_ を使う。

A\_B

A_B

なお、数式モードでは「 _ 」は下付き文字を表示するために使用されるので注意。

$A_B$

AB

【Windows PowerShell】文字型の配列を簡単に連結する

文字列の連結には、通常+演算子を使用するが、文字型の配列同士を連結するには、-join演算子を使うと簡単に連結することができる。なお、-join演算子は連結する際に、文字列同士の間に挟む文字列を指定する必要がある為、下記の例では何も挟まないことを「""」として指定している。配列にインデックスを指定しなければ、全ての要素を順番に連結した結果を返す。

PS > $s1 = "AB"; $s2 = "CD"
PS > $s1 + $s2
ABCD
PS > $s = "AB", "CD", "EF"
PS > $s
AB
CD
EF
PS > $s[0..2] -join ""
ABCDEF
PS > $s -join ""
ABCDEF

【Windows PowerShell】配列を作成する

「,」もしくは「@()」を使用することで、作成することができる。以下は、それぞれ数値型、文字型の配列を作成している。

PS > $n = 1, 2, 3
PS > $n
1
2
3
PS > $s = "A", "B", "C"
PS > $s
A
B
C

明示的に配列を作成する、要素の無い空の配列を作成する、要素が1つだけの配列を作成する場合は「@()」を使用する。以下は、それぞれ要素数が2の配列、空の配列、要素が1つだけの配列を作成した例。

PS > $n = @(1, 2)
PS > $n
1
2
PS > $n = @()
PS > $n
PS > $n = @(1)
PS > $n
1

【GMT】エラーメッセージ「gmt.exe: Unable to create GMT User directory : /Users/○○○/.gmt」

Windows 7GMTバージョン5.4.3を使用したときに、このエラーメッセージを確認。GMT環境変数HOMEを参照して作業用のフォルダーを作成するが、Windows 7では、環境変数HOMEが初期状態では設定されていない。そのため、Cドライブでは問題ないが、C以外のDドライブやEドライブなどでコマンドを実行すると、このエラーが発生する。

PS > gmt
gmt.exe: Unable to create GMT User directory : /Users/○○○/.gmt

環境変数HOMEにホームディレクトリーを指定すればよい(例.C:\Users\○○、○○にはユーザー名)。なお、システムのプロパティで設定する場合は、フォルダー名を直接入力するのではなく、「%HOMEDRIVE%%HOMEPATH%」として、初期状態で設定されている環境変数を使用するのが無難。

【R】ウェブサイト(ホームページ)のウェブページをテキスト形式(HTML)でダウンロードする

ウェブサイト(ホームページ)のウェブページを、テキスト形式(HTML)で簡単にダウンロードすることができる。

download.file関数を使用する。以下の例では、ヤフーのウェブサイトのトップページを、テキスト形式でダウンロードしている。

> download.file("http://www.yahoo.co.jp/", "y.html")
URL 'http://www.yahoo.co.jp/' を試しています
Content type 'text/html; charset=UTF-8' length unknown
downloaded 19 KB

ただし、これはそのアドレスで表示されるウェブページを、テキスト形式でダウンロードするだけに過ぎないことに注意。この例では、ヤフーのトップページには動的なコンテンツが含まれているため、そのHTMLファイルをブラウザで開いても、きれいに表示されない。

存在しないアドレスを指定すると、エラーが発生する。

> download.file("http://www.yahoo.co.jpp/", "y.html")
URL 'http://www.yahoo.co.jpp/' を試しています
download.file("http://www.yahoo.co.jpp/", "y.html") でエラー:
URL 'http://www.yahoo.co.jpp/' を開けません
追加情報: 警告メッセージ:
download.file("http://www.yahoo.co.jpp/", "y.html") で:
cannot open URL 'http://www.yahoo.co.jpp/': HTTP status was '503 Service Unavailable'

動作時にメッセージを表示させないようにするためには、quietオプションをTRUEにする(デフォルトはFALSE)。

> download.file("http://www.yahoo.co.jp/", "y.html", quiet = TRUE)

quietオプションをTRUEにしても、エラーが発生すると、メッセージは表示される。

> download.file("http://www.yahoo.co.jpp/", "y.html", quiet = TRUE)
download.file("http://www.yahoo.co.jpp/", "y.html", quiet = TRUE) でエラー:
URL 'http://www.yahoo.co.jpp/' を開けません
追加情報: 警告メッセージ:
download.file("http://www.yahoo.co.jpp/", "y.html", quiet = TRUE) で:
cannot open URL 'http://www.yahoo.co.jpp/': HTTP status was '503 Service Unavailable'

【Windows PowerShell】使用しているパソコンのIPアドレスを得る

コマンドラインで簡単に使用しているパソコンのIPアドレスを得るには、ipconfigコマンドを使用する。

PS > ipconfig

Windows IP 構成


イーサネット アダプター ローカル エリア接続:

接続固有の DNS サフィックス . . . :
IPv4 アドレス . . . . . . . . . . : ○.○.○.○
サブネット マスク . . . . . . . . : ○.○.○.○
デフォルト ゲートウェイ . . . . . : ○.○.○.○

(以下、略)

 「IPv4 アドレス」に表示されている値が、そのパソコンのIPアドレス