掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Delphi2010 WIC RAW Codec一覧の取得 (ID:37268)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
RAW画像は扱ったことがないので外しているかもしれませんが、 以下のコードでWICがサポートしているコンポーネントを列挙できます。 uses ..., WinCodec, ActiveX; procedure TForm1.Button1Click(Sender: TObject); var factory: IWICImagingFactory; enumerator: IEnumUnknown; unknown: IUnknown; info: IWICBitmapDecoderInfo; clsid: TGUID; cnt: Cardinal; c: array of Char; begin if Failed(CoCreateInstance(CLSID_WICImagingFactory, nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IUnknown, factory)) then Exit; if Failed(factory.CreateComponentEnumerator( WICDecoder, // WICComponentType WICComponentEnumerateDefault, // WICComponentEnumerateOptions enumerator // IEnumUnknown )) then Exit; while enumerator.Next(1, unknown, nil) = S_OK do begin info := unknown as IWICBitmapDecoderInfo; if Assigned(info) then begin info.GetFriendlyName(0, nil, cnt); SetLength(c, cnt); info.GetFriendlyName(cnt, PChar(c), cnt); Memo1.Lines.Add('[' + PChar(c) + ']'); info.GetCLSID(clsid); Memo1.Lines.Add('GUID: ' + GUIDToString(clsid)); info.GetFileExtensions(0, nil, cnt); SetLength(c, cnt); info.GetFileExtensions(cnt, PChar(c), cnt); Memo1.Lines.Add('Extensions: ' + PChar(c)); end; end; end; 今回は列挙だけなのでインスタンスを直接生成していますが、 IWICImagingFactoryはTWICImage.ImagingFactoryと同じものですので、 そちらから取得することもできます。 なお、上記コードはこちらを参考にしました。 http://msdn.microsoft.com/ja-jp/magazine/cc546571.aspx
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.