投稿者「mynote」のアーカイブ

Gitの差分をMeldで表示する方法

Gitの差分をMeldで表示したい場合は、.gitconfig

[diff]
  guitool = meld

[difftool "meld"]
  cmd = meld $LOCAL $REMOTE

を追加して、git diffの代わりにgit difftool -dのコマンドを実行してみると表示できるようになります。

マージもMeldでできるみたいですがまだ試したことがないので、こちらは機会があれば記事を更新しようと思います。

リンク

Meld
https://meldmerge.org/

ImageMagickを使って画像をタイルに分割したり結合したりする方法

ImageMagickを使ってコマンドラインから画像をタイル分割したり結合したりする方法の紹介です。ドット絵のマップチップを分割・結合したい時などで便利です。

タイルに分割

1枚の画像をタイル分割したい場合は-cropオプションを使って次のようにします。

$ convert -crop 100x100 source.png tile-%d.png
$ ls
source.png tile-0.png tile-11.png tile-2.png tile-4.png tile-6.png tile-8.png
tile-10.png tile-1.png tile-3.png tile-5.png tile-7.png tile-9.png

100x100は分割したいタイルのサイズです。分割後のファイルを001002003のように番号付けしたい場合は%dの代わりに%03dを使ってみてください。

分割したタイルを結合

分割したタイルを1枚の画像に戻したい場合は-tileオプションを使って次のようにします。

$ montage -tile 4x3 -geometry +0+0 tile-*.png result.png

4x3の部分がタイルを縦横に何枚並べるかを設定している部分です。

※アルファチャンネルの情報が消えてしまう場合は-background noneのオプションを試してみてください。

Windows版のImageMagick

ImageMagickは主にLinux系のシステムで使われている画像編集ツールですがWindows版のexeもあります。(リンクを参照してください。)

Windows版のImageMagickを使う場合はconvertmontageの前にmagick.exeを追加したコマンドを使います。

magick.exe convert -crop 100x100 source.png tile-%d.png
magick.exe montage -tile 4x3 -geometry +0+0 tile-*.png result.png

リンク

ImageMagick – Download
https://imagemagick.org/script/download.php

C#で配列のサイズを調べる方法

配列のサイズを調べる方法

Lengthを使って配列のサイズを調べることができます。

int[] array1 = new int[]{ 1, 2, 3, 4, 5 };

Debug.Log($"Length = {array1.Length}");

実行結果

Length = 5

ジャグ配列の場合

int[][] array2 = new int[][]{
  new int[] { 1, 2, 3 },
  new int[] { 4, 5, 6, 7 }
};

Debug.Log($"Length = {array2.Length}");
Debug.Log($"Length = {array2[0].Length}");
Debug.Log($"Length = {array2[1].Length}");

実行結果

Length = 2
Length = 3
Length = 4

多次元配列の場合

多次元配列の場合はGetLengthを使って調べられます。

int[,] array3 = new int[,]{
  { 1, 2, 3 },
  { 4, 5, 6 }
};

Debug.Log($"Length = {array3.GetLength(0)}");
Debug.Log($"Length = {array3.GetLength(1)}");

実行結果

Length = 2
Length = 3