サイトアイコン CAD日記

BMPをJPEGに

ビットマップ(BMP)ファイルをJPEGファイルに変換できないものか。

そんなテーマが頭の中で渦巻いていた。

既存のアプリ(フリーソフトなど)を使えば簡単だが、

プログラム的にやるとなると、なかなか。

VC6環境で、手間をかけずに簡単に。

いやはや、奥が深い世界だった。

CADに関わっているので、ベクター系のデータには強いつもりだ。

しかしラスターに関して言えば、まるで知らないということが明確になった。

近頃のCADは、当たり前のようにラスターを扱うことができるので、

ラスター処理に関してもこれから学ばねば。

JPEGというキーワードから、まずたどり着いたのがこちら。

Independent JPEG Group

たいへんシンプルな英語サイト。

ここからZIPをダウンロードして解凍すると、Jpeg-6bというフォルダ内に

Cのソースコード(CやH)があらわれる。

これらをVC6でコンパイルするとJPEGを扱えるライブラリになるらしい。

この世界では有名なものらしいが、ドキュメントが全て英語なので、

使い方を紐解くだけの根性がなく、実際に利用するのは断念した。

次にMFCのCImageクラスというのを発見。

残念なことにVC7から実装されたクラスなので、VC6では使えない。

これを使えば、いともたやすくBMPをJPEGに変換できるらしい。

VC6しか使えないおいらには、厳しい現実だ。

VC2008なんていうのが世に出始めたこのご時世、

VC6を使い続けるのは大変なリスクだと痛切に感じる。

VC2005あたりにジャンプアップしなければ。

最後に落ち着いたのがこれ。

ImageKit

有料コンポーネントだが、ランタイムライセンス無料というのが好印象。

開発ライセンスが71,400円というのは、高いようでいて安いだろう。

これを使っている人が身近にいたので、その存在は知っていたが

自分で扱ったことはなかった。

試しに体験版を入手して、BMPをJPEGに変換するコードをつくってみた。

初期化処理など独特のルールがあるが、それほど迷うこともなく

目的の処理が完成した。

よく見ると、このツールなかなか素晴らしい。

ラスター処理だけでなくて、ベクター系処理も持っている。

DXF、SXFを扱えるし、ラスベク変換までできるそうだ。

本格的に使ってみようかな、と考えている。

そもそもなんでBMPをJPEGにする必要があったか。

DWGビューアの画面イメージをBMPに保存することまではできたが、

BMPがあまりにもサイズが大きいので、圧縮が可能なJPEGに

にしたら、適度なサイズに落ち着くだろうということ。

CAD図面のような画面イメージをBMPからJPEGに変換すると、

けっこう色合いが変わることが判明。

赤系の色がどす黒く変色する。

悩みはつきない。

モバイルバージョンを終了