CAD日記

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

ソフト開発

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に変換すると、

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

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

悩みはつきない。

-ソフト開発
-

執筆者:


  1. ずし より:

    初めまして、ずしと申します。
    墓石業界でCADオペレータをやっています。
    自分が仕事で使用しているソフトはストーンマイスターといいます。
    仕事で使用しているソフト以外のCADソフトをしりません。
    まだ2記事しか読んでいないのですが、これからたまにお邪魔
    させていただきたいと思います。
    ところでCADエンジニアを十数年もやっていると
    プログラムも組めるようになるのでしょうか……。
    僕の仕事ではどんなに続けてもそうなることは
    ないですが!?
    これからもよろしくお願いいたします。

  2. CAD日記 より:

    ずしさん、こんにちは。
    ストーンマイスターは、初耳です。
    図脳シリーズで有名なフォトロンから出ているのですね。
    バリバリの3次元CADじゃないですか。
    私はCAD SEを名乗っていて、CADエンジニアとも言えますが、
    どちらかというとCADプログラマです。
    主に自社の2次元CADアプリケーションをつくっていて、
    またAutoCADのDXF,DWGとの変換プログラムを得意としています。
    そういう意味では、ずしさんとは仕事が違うかもしれません。
    CADには大抵マクロと呼ばれている、操作を自動化するプログラム
    があります。まずは、マクロに慣れていけば、プログラムもできる
    ようになるかと思います。
    こちらこそ、今後ともよろしくお願い致します。

ずし へ返信する コメントをキャンセル

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

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

関連記事

PDFiumはPDFからテキスト抽出するのもちょー簡単

PDFiumを語るのに日本語はいらない。プログラマーはプログラム言語で語る。PDFiumの処理は、tryとfinallyのところだけを見てくれればよい。たったこれだけでPDFからテキストを抽出できるの …

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

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

no image

メイリオが他のフォントとくらべて小さく表示される件

左側がMS Pゴシックで、右側がメイリオ。 高さを同じ80pixcelで書いているのに、メイリオは3割型小さくなる。 メイリオの場合、GetTextMetricsで取得できるtmInternalLea …

no image

円周率

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

Teigha改めODAでDWGをDXFに変換するプログラムをつくってみよう!【Part.2】

Part.1ではあれこれと前提の話を書いたわけだが、今回は実際にVCのプロジェクトを作る準備をしてみよう。 1.ODAモジュールのダウンロード 2019 Update 2のKernelとDrawing …