----------------------------------------------------------------------------
                                - ifgdip.spi -
                                ifgdip.spi v0.8
----------------------------------------------------------------------------
                                                    2005.06.27 Makito Miyano

1.概要
  GDI+を利用した susieプラグインです。
  現在は bmp/png/gif/tif/ico/wmf/emf に対応しています。


2.動作環境
  GDI+を利用しておりますので、 WindowsXP以外の環境では
  別途 gdiplus.dll が必要です。
  WindowsXPの場合はデフォルトで gdiplus.dll が存在しますので、
  ifgdip.spi単体で動作します。

  gdiplus.dll は Microsoftの以下のサイトよりダウンロードできます。
  http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=BFC0B436-9015-43E2-81A3-54938B6F4614

  gdiplus.dllを PATHの通ったフォルダ(c:\Windows\System32など)に置いてください。


3.動作確認
  WindowsXP Professional + AthlonXP3000+ + GeForce FX5600


4.メモ
  ・プラグイン設定で EMF/WMFファイル表示時の DPI値を設定できます。
    (デフォルトは 96)

  ・GetPictureInfoの実装が困難なため、とりあえずダミーの情報を
    返すようにしています。
    GetPictureによって展開して始めて画像の正確な情報が入手できます。

  ・GDI+では DIBと上下が逆になって展開されます。
    したがって GetPicture は、 GDI+による展開の後、画像の上下を
    反転させています。これには無視できない時間がかかりますので、
    GetPictureRev という関数も公開しています。
    これは上下がさかさまに展開されることを除いて
    GetPictureとまったく同じです。

  ・Unicodeのファイル名に対応するため、以下の拡張インターフェースを用意しています。
    LPSTRの部分にwchar_tへのポインタを渡す以外は使い方は元の関数と同じです。
    	int __declspec(dllexport) __stdcall IsSupportedW(LPWSTR filename, DWORD dw);
	int __declspec(dllexport) __stdcall GetPictureInfoW
			(LPSTR buf,long len, unsigned int flag, PictureInfo *lpInfo);
	int __declspec(dllexport) __stdcall GetPictureW
			(LPSTR buf,long len, unsigned int flag,
			 HANDLE *pHBInfo, HANDLE *pHBm,
			 SPI_PROGRESS lpPrgressCallback, long lData);
	int __declspec(dllexport) __stdcall GetPictureRevW
			(LPSTR buf,long len, unsigned int flag,
			 HANDLE *pHBInfo, HANDLE *pHBm,
			 SPI_PROGRESS lpPrgressCallback, long lData);
	int __declspec(dllexport) __stdcall GetPreviewW
			(LPSTR buf,long len, unsigned int flag,
			 HANDLE *pHBInfo, HANDLE *pHBm,
			 SPI_PROGRESS lpPrgressCallback, long lData);


5.著作権・免責等
  GDI+については (C)Microsoftが著作権を保有します。
  susieプラグイン 作成部分に関しては
  私 Makito Miyano が著作権を保有します。

  本ソフトウェアを使用することによって如何なる損害が発生しても
  作者は一切責任を負わないものとします。
  全ては自己責任の元でお使いください。

  susieプラグイン作成に関する情報については Shimitei さんのページ
  (http://www.asahi-net.or.jp/~kh4s-smz/index.html)を
  参考にさせていただきました。


6.連絡先
  不具合、要望、感想等は以下の掲示板またはメイルアドレスまでお願いします。
    BBS:    http://miyano.s53.xrea.com/cgi-bin/flashbbs/hamana/index.html
    e-mail: miyano@ck.tnc.ne.jp


7.History
  2005/06/28
    - ワイド文字対応インターフェースの追加

  2005/02/06
    - 4bitカラーのPNGで落ちる場合があったのを修正

  2004/07/31
    - プラグイン設定を実装
    - wmf / emf 出力時の dpi を指定できるようにした (デフォルトは 96)
    - 対応する画像ファイルを選択できるようにした
    - jpeg 対応復活(デフォルトでは jpegは無視します。プラグイン設定で変更してください)

  2004/06/22 v0.5
    - GIF 対応

  2004/05/16 v0.4
    - MFCのdllがなくても動作するようにした

  2004/05/14 v0.3
    - 1/4/8bitカラーの画像の読み込みに失敗することがあったのを修正

  2004/04/25 v0.2
    - jpegを対象外とした
    - 壊れたイメージファイルを渡されると落ちていたのを修正

  2004/04/18 v0.1
    - 初版
