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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

アプリでzip圧縮と解凍をやりたくてzlibを組み込んでみたんだけど。。

でかいファイルは、圧縮してコンパクトに扱いたくなる。 テキスト形式で定義されているファイルをアプリで読み書きする。 テキストは圧縮すれば1/5くらいになるので、その結果小さくなった ファイルをアプリの …

no image

イテレータ(Iterator)

あるコンポーネントで初めて出会いました。コンポーネントがバージョンアップされたときに、オブジェクト指向的な作りに一新されて、いろいろ変わったのですが中でもイテレータという訳の分からないものに遭遇して、 …

PDFアレコレはiTextSharp7も組み込むことにする

PDFiumViewerを使ってPDFアレコレという名のフリーソフトを作ってみたわけだが、PDFiumViewerの限界が見えてきた。

no image

受託開発

パッケージソフトの開発にメンバーとして関わって10年、そこそこの売り上げを継続でき、よい結果を出していると思います。ここ最近、少しジリ貧なので、ちょっと厳しいですけど、それはともかく... 近頃、受託 …

no image

家で仕事

そもそも家でパソコンを買ったのは、仕事をするためだ。 う~ん、仕事とも言えるけど仕事とも言えない感じがする。 ドスパラのPrime、22万円なり。 結構な投資だったけど、後悔はしてない。 今、そのNe …