4

Windows 7 の WIA 2 はカメラを検出しませんが、Windows XP の WIA 1 はカメラを検出します。

プログラムを管理者として実行しようとしています。

私のカメラは:

Asus USB2 Webカメラ.

Delphi は次のメッセージを返します。

(このように)指定されたタイプのwiaデバイスは利用できません

また

モジュール内のアドレス ...... でアクセス違反が発生しました ......

私はこのコードを使用します:

procedure TForm1.Button9Click(Sender: TObject);
Const
   wiaFormatBMP ='{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}';
var
   CommonDlg: ICommonDialog;
   AImage: IImageFile;
   ImagePath: String;
   DeviceManager1 :iDeviceManager;
begin
   CommonDlg := createOleObject('WIA.CommonDialog') as ICommonDialog;
   DeviceManager1 := createOleObject('WIA.DeviceManager') as  iDeviceManager;
   edit1.Text:=  inttostr( DeviceManager1.DeviceInfos.Count);
   AImage := CommonDlg.ShowAcquireImage(UnspecifiedDeviceType,UnspecifiedIntent,
                                        MaximizeQuality,wiaFormatBMP,true,False,True);
   ImagePath := 'C:\temp\test.bmp';
   AImage.SaveFile(ImagePath);
end;
4

1 に答える 1

-1

私は最近、WIA と Win7 で同様の経験をしました。

最終的に使用することになったのは、DirectX ソリューションでした。

Delphi の基本 - DirectX Web カメラ キャプチャ

このプロジェクトを最初にどのように見つけたかは覚えていませんが、Win7 では、オフィスに転がっていた古い Web カメラでも動作します。

ダウンロード ファイルの Demo3 を参照することをお勧めします。これには、私が必要としているものの最もシンプルな例が含まれています。YMMV。

(編集) 私の WIA の問題は、Webcam メーカーが Win7 で WIA または Twain をサポートしていなかったという事実から拡張されました。

于 2012-06-14T15:46:44.287 に答える