4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Eclipseの米粒アイコンをPythonで大きくした話

Last updated at Posted at 2022-11-27

めでたし、めでたしのはずが

「今さらEclipse」シリーズ、第3弾。前回、SWT(Standard Widget ToolKit)のパラメーターによってUI全体の拡大をスマートにやっつけたはず、だったのだが、野蛮にもPythonでリサイズしてしまった。
(参考)シリーズ第1弾第2弾

なぜかというと、気になることがいくつかあり。

  • UI全体の拡大だと、ウィンドウのマージンやファイルリストの行間など、全てが拡大されて大味な感じになること
  • エディターペインにゴミ、細い横線が時々表示されること(スクロールすれば消えるが)
  • アイコン画像を全部リサイズしてしまったらどうなんだろ、と思いついてしまったこと

アイコンのリサイズをJavaでやったら入門者らしかったのだが、いかんせん、初心者すぎて、そのレベルに達するまで待てない。ので、Pythonで。

とても野蛮

Eclipse/Pleiadesのインストール先、C:\pleiades\2022-09\eclipse以下にある、すべての16x16ピクセルのpng/gifを狙い撃ち、28x28ピクセルにリサイズ。

前回、補完方法をnearestからsmooth(アルゴリズム名は不明)に変えて改善されたが、今回は、一番良さげなLANCZOSにて。

早速コードを。Pythonはお気楽だ。

# enlarge eclipse icons
import os
from PIL import Image

SIZE_FROM = 16
SIZE_TO = 26

old_path = ""
for path, dirs, files in os.walk(r"C:\pleiades\2022-09\eclipse"):
    for file in files:
        file_path = os.path.join(path, file)
        for ext in ".gif .png".split(" "):
            if (ext == file_path[-4:]):
                img = Image.open(file_path)
                if img.size == (SIZE_FROM, SIZE_FROM):
                    if (path != old_path):
                        print("\n", path)
                        old_path = path
                    print(img.size[0], img.size[1], "\t", file)
                    img = img.resize(size=(SIZE_TO, SIZE_TO), resample=Image.LANCZOS)
                    img.save(file_path)
# print("\n{}-pixel icons enlarged to {}.".format(SIZE_FROM, SIZE_TO))

アイコンが入っている場所

ほとんどのアイコンは、
"C:\pleiades\2022-09\eclipse\configuration\org.eclipse.osgi"にあり、さらに、"C:\pleiades\2022-09\eclipse\configuration"までで、ほぼ全てカバーしているが、結局、若干残ったため、eclipseディレクトリ全体を対象に。
言わずもがな、バックアップを取っておくことをおすすめ。まぁ、戻したければ、再インストールでも良い。

ビフォア/アフター

16ピクセルから26ピクセルなので、162.5%。しばらく大きなアイコンで使っていたため、Eclipseの理解も深まり、アイコン識別力が上がってきたようで(笑)、これでもちょっと大きいか?となった。

ビフォア 100%
image.png

アフター(1) SWTによるリアルタイム変換、170%
image.png

アフター(2) Pythonによる一括変換、162.5%
image.png

やはり、LANCZOSによるリサンプリングはキレイで、やった甲斐有り。
Javaコーディング、デバッグ、Git、全部入りのよくばりセットでちょうど収まった。

追記:Gitのアイコンはここになくても良い。「Gitリポジトリー」ペインなどのファイルのコンテクストメニューやツールアイコンでの操作のほうがわかりやすい。

取り残されたアイコンたち

正方形でない画像も結構あるが、これらは拡大されない。ペインの最大化、最小化、復元、ツールアイコンの「グループ内仕切り(点線)」、「X(閉じる)」、など。このままで良い。

「パッケージ・エクスプローラー」のリスト部分のアイコンが小さいまま。こいつらは、エラーのバツ印などのステータス変化をなんと合成で実現していると思われ、取り残され組。しかし、逆にコンパクトになって良かった。

image.png

一方、「Gitリポジトリー」のリストは、アイコンが大きくなっているため、行間が増加。
image.png

下部ペインも同じく、よくばりセットで、ちょうどお腹いっぱいになり、いい感じ。
image.png

今のところ目立った不具合もないので、使い込んでみようと思う。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?