携帯電話のカメラがWinFormでコントロールを取っている画像を表示したいと思います。アイデアは、私のアプリケーションがカメラのプログラムのように機能するということです。ユーザーが写真を撮ろうとしているような画像を表示したい。
どうやってやるの?それをしてもいいですか?
詳細が必要な場合は私に聞いてください。
ありがとうございました!
携帯電話のカメラがWinFormでコントロールを取っている画像を表示したいと思います。アイデアは、私のアプリケーションがカメラのプログラムのように機能するということです。ユーザーが写真を撮ろうとしているような画像を表示したい。
どうやってやるの?それをしてもいいですか?
詳細が必要な場合は私に聞いてください。
ありがとうございました!
何が必要かよくわかりませんが、Microsoft.WindowsMobile.Forms.CameraCaptureDialog を使用してみてください。
string originalFileName;
using (CameraCaptureDialog dlg = new CameraCaptureDialog()) {
dlg.Mode = CameraCaptureMode.Still;
dlg.StillQuality = CameraCaptureStillQuality.Low;
//dlg.Resolution = new Size(800, 600);
dlg.Title = "Take the picture";
DialogResult res;
try {
res = dlg.ShowDialog();
}
catch (Exception ex) {
Trace.WriteLine(ex);
return null;
}
if (res != DialogResult.OK)
return null;
this.Refresh();
originalFileName = pictureFileName = dlg.FileName;
}
後で編集: このリンクも役に立つかもしれません: http://community.intermec.com/t5/General-Development-Developer/CN50-MS-Camera-Capture-Dialog-generates-error/mp/12881# M4083
必要なのは、キャプチャではなくプレビューです。これははるかに困難です。最良の(そしておそらく唯一の)解決策は、DShowフィルターをフィルターグラフに挿入して、プレビューウィンドウを目的の場所にパイプすることです。
COMはCompactFrameworkの弱点であり、どのプラットフォームを使用していてもDShowは困難です。sourceforgeのDShow.NETライブラリやAlexMogurenkoのブログなど、オンラインにはいくつかのリソースがありますが、キャプチャの作成に固有のものはありません。
WinMo SDKには、そこに到達するための便利なガイドとなるネイティブキャプチャサンプルがあります。
OpenNetCF.orgのSmartDeviceFrameworkには、カメラからのフレームのキャプチャなど、PocketPC用のツールがいくつかあることを確認してください。
SDKなどを使用して、ハードウェアに対して直接プログラミングする必要があると思います。
ハードウェアに対する直接のプログラミングは通常 c/c++ で行われるため、sdk はおそらくネイティブになります。したがって、おそらく pinvoke と unsafe キーワードを使用する必要があります。
ただし、最初にカメラにアクセスする方法を見つける必要があります。これはハードウェアに依存するため、電話の製造元の Web サイトから開始できます。