● ビットマップをPNGやGIFやJPGに変換する ●

ダウンロード (95KB)


[ビットマップを色々と変換してしまうコード模索]

・開発言語&開発環境
  ↓古いよ〜
  Visual Basic5.0(SP3) & Windows XP(SP3) + Internet Explorer 6

・作成動機
  bmp から透過色を指定して png と gif の変換を行いたく調査をしていたところ、gdiplus.dll
  なるものがあるとの情報を入手。便利な世の中になったと感心しつつ、まあ頑張れば実装できそうな
  予感がしたので、作成に取り掛かった次第です。

・出来ること
  (1)BMP → PNG  透過色指定:可
  (2)BMP → GIF  透過色指定:可  ハーフトーン解除:可
  (3)BMP → JGP  画質指定  :可
  (4)BMP → BMP  2色・16色・256色・フルカラー変換:可
  (5)BMP → BMP  色変換などおまけ

・散文的な備考
  (1)実行ファイル名が Bitmap2png.exe となっており、名が体を表していませんが、上記(1)〜(5)の処理が
     用意されています。多分、動くことでしょう?

  (2)上記(1)と(2)と(3)の処理は gdiplus.dll を使用して変換処理を行っています。従いまして、gdiplus.dll
     が存在しないと動きません。

  (3)いずれの処理も動作してはおりますが、当方は画像または画像処理の知識を持ち合わせておりませんで、
    「こうすればいいんじゃない?」という、いわゆる野生の勘で実装している箇所が多々あります。
     特に BMP → PNG変換(透過色付き)   BMP → GIF変換(透過色付き) がそうです。

  (4)Windows XP(SP3)以外の動作は保障しません。処理された画像はブラウザで自動的に開くように作成して
     います。IHTMLDocumentを使用して、HTMLファイルを作成しないでブラウザ閲覧するように作成しています
     が、Windows Vista や Windows 7 で動かない予感が脳内に激しくひしめいたため、HTMLファイルを作成する
     ためのチェックボックスを用意しました。デフォルトで選択状態になっています。

  (5)BMP → GIF変換(透過色付き)におきまして、Javaで言うところの HashMap(?) を自作して使用しております。
     それが ClsHandmadeMap なのですが、VB6.0以降の環境をお持ちであれば HashMap(?) 的なオブジェクトが
     用意されていると思うので、それを使用してください。多分、処理時間が速くなるはずです。

  (6)BMP → GIF変換(透過色付き)におきまして、透過GIFファイルは、パレットの先頭にいる ARGB値 が透過色
     になるようです。

  (7)BMP → GIF変換(透過色付き)におきまして、元のBMPが256色より多いBMPだと正しく変換されません。悪しからず。

戻る