CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

VisualStudioのアイコンエディタはクソで、Paint.NETが素晴らしいじゃん

投稿日:

アプリケーションエンジニアならicoファイルを自由自在に作れるかっていうとそうでもなくて、今までだましだまし適当に作っていた。Photoshopなんかで画像を作るとこまではいいんだけど、それをVisualStudioのアイコンエディタに流し込んでいたのが失敗だった。Paint.NETという秀逸なフリーソフトで仕上げるのがベストだと、よわい50歳になろうかという今気付いたのだった。

VisualStudioがダメなのは、色数が24bitまでにしか対応していないこと。フルカラーは24bitで、赤緑青が8bitずつあればいいじゃんって勘違いしていたところがまずい点で、本当のフルカラーは32bitでトゥルーカラーとも呼ばれている。32bitから24bitを引いた8bitはアルファ値。アルファチャンネルとも呼ばれていて画素の不透明度(opacity)を表現する。画像のマスク・複数画像の合成で使われるって。アイコンファイルみたいに背景が透過される画像においてとっても重要。Photoshopではキレイなのに、VisualStudioにはめ込むと汚くなっていたのはアルファ値が抜けていたからだった。VisualStudioのバージョンによっては32bitカラーに対応しているのかもしれないが、おいらが使っている2017では24bitまでのものしか作れなかった。

アイコンファイルって何なのかもよく知らんかった。後述するpaint.netを操作をしてわかった。画像サイズごとにレイヤで分けれらていてる。サイズというのも重要な要素で、ようするにピクセル数のことだ。Windowsの進化によってアイコンのピクセル数はどんどん増えている。16×16と32×32の2種類作っとけばいいんじゃね。。って考えは古くて、Vista以降で256×256も必要になっている。以下Wikipediaの記事を読んだ結果、必要なサイズは16と32と48と256であることが判明。
ICO (ファイルフォーマット)
色数はもちろん32bitだ。4bit(16色)や8bit(256色)なんてレトロな色数は、Windows 3.1じゃないんだから今の時代持たせる必要はない。

本題のpaint.NETについて。以下のサイトを読めばわかる。
Paint.NET でアイコン(.ico)ファイルを作る
paint.NETは画像ファイル全般をつくるソフトで、プラグイン「Icon, Cursor, and Animated Cursor Format」を入れることでicoファイルの読み書きができるようになる。ダウンロードサイトは英語だけど、何もせずに日本語で使えるので英語わからんちんでも安心して使えるぞよ。ただicoをつくる際にちょっと操作に気をつけなければいけないので、以下で要点を記す。
1.ファイル⇒新規でピクセルサイズを指定する際は、最大のピクセル数を指定する。よって、256×256とする。
2.実際に絵を作る前に、一度名前を付けて保存でicoファイルとして保存する
3.2の段階で、Icon Save Option画面が出て選択肢として「Merged Image..」と「Each layer..」が出るので、Mergedのほうを選んで、その下のCopies to be savedで、作りたい画像のサイズと色数の組み合わせにチェックを入れる。「256×256, PNG」「48×48, 32-bit」「32×32, 32-bit」「16×16, 32-bit」にチェックを入れればよい。これで空っぽの器ができたことになる。
4.一旦閉じて開く。開く際にIcon/Cursor Load Optionが出るので、「Load all..」を指定する
5.画像サイズごとにレイヤが4つあることがわかるので、それぞれごとに画像をつくる。おいらの場合はPhotoshopの画像があるので、画像サイズを変えた状態でコピペで持ってくるだけ。
6.最後に名前をを付けて保存。Icon Save OptionsではEach layerのほうを選ぶ。上記3でMergedのほうを選んでいるが、ここではEach layerを選ぶのがポイント。

上記記事を書いた人が言っている。「Paint.NETは様々なプラグインで拡張することで、PhotoShopに匹敵するくらいの画像処理ができる秀逸なソフト」だと。クソ高くて使い勝手にクセがあるPhotoshopに対して、Paint.NETはフリーソフト。icoファイルを作るだけに使うのはもったいないので、画像処理全般で使ってみよっかねぇ。

-ソフト開発

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

特定サーバーにアクセスするためのIDと一致するものだけを許容するプログラムをつくるには(1)

Windowsで動作させるC#のプログラムの話で、特定サーバーにアクセスするためのIDと一致するものだけを許容するプログラムを作ろうとしていて、なかなか難航したのでその記録を残しておく。ようするに、I …

本質的にPDFに捺印できるようにしたPDFアレコレを公開

先週に引き続き今週もPDFアレコレをバージョンアップ。変更点は以下の通り。 Ver2.02 2020/3/21 ・捺印時に画面でクリックしたところに配置できるようにした。(Ver2.01は固定値) 詳 …

no image

円周率

3.1415926535…。私が記憶しているのはここまでです。スーパーコンピュータを使って数億桁まで計算、なんてニュースをよく聞きますね。コンピュータの性能向上とアルゴリズムの工夫に対する …

zipcopy Ver1.01リリース

以下でアップしていたzipcopyについて、ちょいと手直ししてVer1.01としてリリースする。 zipcopy~圧縮してコピー~ができたのでアップしておく zipcopyのダウンロードはここをクリッ …

PDFファイルを扱うプログラミング用ライブラリ一覧

以下の記事がよく読まれているみたいなので、もっと幅広く「PDFファイルを扱うプログラミング用ライブラリ一覧」という本記事を書いてみる気になった。 iTextSharpのバージョンとライセンスが難しい …