top of page

C#でOS標準搭載のAPIを呼び出してみる

  • 執筆者の写真: レイ
    レイ
  • 11 分前
  • 読了時間: 2分

こんにちは、レイです。

早いもので入社してもうすぐ一年が経ちます。まだまだ慣れないことが多いですが、先輩方に教えてもらいながら日々業務に取り組んでいます。


先日、とある案件で Web カメラの映像を画面に表示するソフトを WPF で作る機会がありました。

今まではこういうとき OpenCV などの外部ライブラリを使っていたのですが、Windows 標準のカメラアプリでも同じことができるわけだし、外部ライブラリを追加せずにできないかなと調べたところ、WinRT という OS 標準機能を呼べば良さそうだったので試してみました。


1. .csproj を書き換える

プロジェクト作成後、.csproj をメモ帳で開いて <TargetFramework> を次のように修正します。


WinRTが搭載されはじめたバージョンを明記することで、Windows.* の API がそのまま using できるようになります。ただし、ここで指定したバージョンより古い OS では動かなくなるので注意してください。


2. 画面(XAML)

Image を 1 つ置きます。




3. コード 




おわりに


無事、カメラの映像を画面出力することができました。MediaCaptureクラスの「_capture」でカメラを制御、MediaFrameReader クラスの「_reader」でフレーム受信しています。

標準機能を使うことで、外部ライブラリをインストールせずプロジェクトをコンパクトにできました。またMicrosoftの標準機能であることから品質も担保されていることも大きなメリットになります。

他にも、画像から文字を読み取るOCR機能 、音声認識・読み上げクリップボード監視・操作 などたくさんの便利な機能がWindowsにはデフォルトで提供されています。もし機会があったら使ってみてください。



出典





関連記事

すべて表示
【無料相談会】DXって何から始めればいいの...?知識ゼロから始めるシステム化相談室

こんにちは、前戸 雄太です。 昨今、あらゆる業界で「DX(デジタルトランスフォーメーション)」や「IoT」といった言葉を耳にするようになりました。 しかし、日ごろお客様とお話している中、こんな本音をよくお聞きします。 ・「DXが必要なのはわかっているけれど、何をしていいか分からない」 ・「ITやシステムの専門知識がないから、どこに相談すればいいのかすら分からない」 そんなお悩みをお持ちの企業様。

 
 
 

コメント


この投稿へのコメントは利用できなくなりました。詳細はサイト所有者にお問い合わせください。
bottom of page