オープンアプリ用のPNGの画像ファイルを
BMPからの変換ソフトを自前で作ってみようかなとか
オープンアプリで透明色つか背景色つうか出来るPNG画像がほしかったから
それ作れるソフトがほしいなと。
Windows標準のペイントだとそういうの設定できないし
フリーソフトのPictBearで作ると
何故か知らんがエクスプローラで右クリック→プロパティで概要みると
ビットの深さが32とかになっちゃうんだよね。
オープンアプリで使えるのか使えないのかワカランが
なんとかビットの深さが8のままにできないかと
思ったのがきっかけなんすよ
一応、非圧縮は出来たっぽい
非圧縮のPNGを閲覧できるのが
WindowsXPの標準のビューアとペイントだけっぽいゆえ
Windows95で作ってたからわかんなかったんだわ
ブラウザでさえ見れないんだもんな
それと、さすが非圧縮。サイズがでかいw
元のBMPと大差ないww
だって圧縮アルゴリズム難しそうでさぁ・・・
この非圧縮のも作るの結構大変だったんだよ
まずVB6の標準のファイル入出力、PUT,GETではリトルエンディアンでしか
読み書きできないっぽくて
さらにCRCやADLER32の計算。
VB6は符号有Longだから、符号なしLong用の計算とか
ビット演算の右シフトとか左シフトとかどうやんのかわかんなくて
自前でシフト関数作ったし、
たぶん、APIを探せば、そういうの出来るのあったのかもしれんが
見つけたとしてVB6で使えるのかもわからんしなぁ
引数の関連がよくわからんし。引数の型をVB6用に直すのは骨が折れすぎる
論理シフトなら原理分かってるから作るのはそう難しくなさそうな感じだったしな
さて、今後、圧縮アルゴリズムまで作るかはまた考えるわ。
今回PNGファイルのチャンク名だけ取得できるというのを作って
前述のPictBearで作ったPNGやペイントで作ったPNGのチャンクを調べたら
まぁ色々と分かったことがあって、
PictBearで透明色設定したPNGはビットの深さがちゃんと8になってて
俺が危惧していたことが見当たらなかったからね
どうやらエクスプローラーのプロパティの情報がおかしいっぽい
だから、まだ試してないんだけど、PictBearで透明色設定したPNGを
オープンアプリ内でちゃんと扱えるかチェックしてみるわ。
すくなくともオープンアプリのアイコンには使えるのは確認済みなのでね
ちなみに今俺はペイントでPNG保存しないで
何故かBatchGOOというフリーソフトでBMPからPNGに変換してるんだわ
何故そうしてるかの理由は忘れた。BatchGOO使ったきっかけは覚えてるんだがな
前Javascriptで作ったもぐらたたきの画像をオープンアプリに転用しようとしたから
その画像をPNGにしたかったから変換ソフトがほしかったというのが理由だが
まぁ今となっては謎だなぁ・・・
しかしWindows標準ペイントは多種多様な保存形式があるにもかかわらず
細かな設定が一切できないとはな・・・使えん。
自前でペイントソフトくらい作れたらええのにとか思うわ。
無理だが。