DIBLIB

DownLoadのトップへ戻る


ライブラリの最新版
DIBLIB Ver1.063 2004/ 3/30

ソースのダウンロード
DownLoad
1.00 2001/ 1/ 2
1.01 2001/ 2/17
1.02 2001/ 4/25
1.03 2001/ 6/ 4
1.04 2001/ 7/ 7
1.05 2001/ 8/ 2

  1. 詳細
  2. 使い方
  3. 更新履歴
  4. API解説
●詳細

  ダウンロードありがとうございます。
  DIBLIBとはDIB操作をカプセル化したクラスで、
  ビットマップの表示、ファイル・リソースからの読みこみ、ファイルへの保存、
  カラーテーブルの編集、白紙作成、画像ビットの読み書きなどが行えます。
  CPaletteクラスの装備で、パレット操作も簡単にできます。
  是非使ってくださいませ。

  DIB(デバイス独立ビットマップ)に関しては
  ホームページの[Programming]をご覧ください。
  質問のメールも受け付けていますのでお気軽にどうぞ。


●使い方

  本製品はスタティックライブラリです。
  単独での実行はできませんのでご了承下さい。

  <VisualC++6.0の場合>
  1. ヘッダーをインクルード
  2. [プリジェクト]→[設定]→[リンク]で"DIBLIB.LIB"へのパスを入力
  3. リビルド

  主にCDIBitmap,CPaletteクラスを使います。
  クラスのメンバに関しては同梱の"api.txt"をご覧下さい。
  クラスは名前空間を使って定義しているので、変数の定義時には

  diblib::CPalette pal;

  と定義するか、ファイルの先頭に

  using namespace diblib;

  と付けるてください。
  MFCのCPaletteと同時に使うことができます。

  また、一部の環境ではリンクの際に
  「ライブラリと競合」エラーが出ることがあります。
  このときはリンカのオプションに以下のスイッチを追加して下さい。

  /nodefaultlib: 競合するライブラリ

  例えば、"LIBC"と競合するのであれば
  /nodefaultlib: "libc"となります。大文字小文字は関係ないです。


●更新履歴

Ver1.063: 2004/ 3/29
   ◆ 画像ビット処理関数
      (GetBits, GetOffSet, Get4bitPixel, Get4bitPixel)追加

Ver1.062: 2003/ 4/ 4
   ◆ CPalette::Create関数の不具合を修正
   ◆ 全オブジェクトをdiblib名前空間を使って定義

Ver1.061: 2003/ 3/31
   ◆ フルカラービットマップを読みこんだときに生じるバグを修正

Ver1.06: 2003/ 3/30
   ◆ 標準版開発終了
   ◆ CPaletteEntriesの大幅変更→CPaletteクラス
   ◆ カラーテーブルの読み書きの操作関数を簡素化
   ◆ 白紙作成機能のパラメータにCREATEBITMAP構造体を作成
   ◆ RIFFパレットファイルの操作を追加
   ◆ エントリ数が大きいパレットにも変更可能にした
   ◆ Blitメンバを削除
   ◆ IsEmpty関数を追加
   ◆ 小さいサイズの画像を読みこんだときに生じるバグを修正

Ver1.05: 2001/ 7/31
   ◆ 画像を新規作成して、保存しても
      BITMAPFILEHEADER::bfReserved1とbfReserved2が
      初期化されないバグを修正
   ◆ 標準版のパラメータでin_Resetを全て削除
   ◆ CPaletteEntriesのコンストラクタとCreate関数のパラメータ変更
   ◆ CPaletteEntries::AddColorを全て削除して、
      代わりにAddColorsを追加。複数のエントリが追加可能
   ◆ FILEポインタとストリームを使う関数を全て削除
      (ファイルへはAPIのみでアクセス)
   ◆ 関数の名前変更  1. GetImageSize → GetBitmapSize
                      2. Draw         → BitBlt
   ◆ CDIBitmap::StretchBlt関数を追加
   ◆ 描画関数にラスタオペレーションを追加

Ver1.04: 2001/ 7/ 7
   ◆ CPaletteEntriesクラス追加
   ◆ クラスの追加に伴って、
      SetPaletteEntriesとGetPaletteEntriesのパラメータを変更
   ◆ ファイルの入出力時にAPIを使うようにした。
   ◆ 白紙作成機能を追加

Ver1.03: 2001/ 5/12
   ◆ GetFileHeaderとGetInfoHeaderの代わりにGetHeaderを追加
   ◆ GetBitmapSizeを追加
   ◆ SetPaletteEntriesを追加し、カラーテーブルの変更が可能になる
   ◆ Save関数によって画像の保存が可能になる
   ◆ RefreshHandleを追加
   ◆ m_ClrUsed,m_SizeImageというメンバ変数を追加
      それに伴ってGetUsedColor,GetImageSizeの二つの関数を追加
   ◆ ストリームクラスが使用できるようになった
   ◆ Blitのテストと修正を行い、動作を確認
   ◆ DrawとBlitのパラメータの変更
     (POINTやRECTなどの構造体に代わってint型を採用)

  -- これより先の更新箇所は、標準版・コンパクト版共通 --

Ver1.02: 2001/ 4/20
   ◆ CompactEditionとStandardEditionに分割
   ◆ コンパクト版ではCDIBPaletteを完全に削除
   ◆ 標準版からRemapToPaletteを削除
   ◆ 読み込み時のメモリ確保時のミスを修正
   ◆ ビットマップが読みこまれていないオブジェクトから
      Draw関数やBlit関数を呼び出すとエラーになる不具合を修正

Ver1.01: 2001/ 2/17
   ◆ 適合パレット関連の操作を削除
   ◆ CDIBPaletteの定義を隠蔽
   ◆ BITMAPFILEHEADERを動的確保
   ◆ パレットを非静的変数にした

Ver1.00: 2001/ 1/ 2
   ◆ CDIBitmap,CDIBPaletteのクラスライブラリとして完成
   ◆ 8bppは完全に適合パレットに対応
   ◆ 1,2,4bppはパレットは作成するが、適合パレットは作成しない
   ◆ フルカラー(24bpp)はパレットを作成しない