Windows10 mobile

根性を用いてUWPでバーコードスキャナを実装する

この記事はWindows Phone / Windows 10 Mobile Advent Calendar 2015の14日目の記事の(予備と)して書かれました。

余談:

本当は楽に済まそうと思ってLumia950のレビューを書こうと思っていたのですが、Cloveが11月末入荷予定からずるずると出荷を遅らせ、最終的に届いたのが11/12でした。小心者の私はLumiaが届かないだろうと思ってこのエントリをすでにバリバリと書き始めてしまったので、Advent Calendarにはこちらの記事を投稿することにしました。結局ギリギリになって950も届いたがためにレビューの執筆も間に合ってしまいました(つらい日曜日だった)。よろしければあわせてご覧ください。

http://blog.naotaco.com/archives/979

本題

まともなNFCがiPhoneに載る気配がないせいか、現代においてもQRコードはとても広く使われています。自分のWindowsPhone/Windows 10 mobileアプリでもQRコードを読みたくなるのが人情というものでしょう。今年のAdvent calendarのトップバッター@tanaka_733さんのエントリをみる限りWP8.1だと比較的楽に実装ができるそうですが、我らがUWP勢にそのような甘えは許されません。 1

必要なものはこちら:

  • 根性
  • W10M端末, もしくはWindows 10 desktop + WebCam
  • ZXing.Net

どうやっていいかわからなかったので、まずはカメラのプレビュー映像を表示して、そこから一定間隔で画像を抜き取り、それをZxing.Netに投げるという方式で進めることにします。作りが雑すぎて故郷の母にはとても見せられないような感じになりますが、強い気持ちで乗り越えてください。

さて、まずはXAMLに置いたUIElementにカメラのプレビュー画像を表示させます。Androidで言うとSurfaceViewに描画するような感じです 2。とにかくMicrosoft謹製のサンプルがあるので、そこのCameraGetPreviewFrameを全力で参考にします。

作ったサンプルコードのソースはGitHubに上げておきました。

Continue reading

Notes:

  1. ていうかZXing.MobileのMobileBarcodeScannerとか今知ったよ……。
  2. 最近は違うのかもしれないですが。。

レビュー: Microsoft Lumia 950

Surface Bookが発表された最高の発表会から2ヶ月、Cloveに注文していたLumia 950がイギリスから届きました。2,3回Cloveからの発送が延期されたりなんだりしましたが、12/12に到着。記事執筆段階では950のレビュー記事がギズモードのゴミしかみつからない状況はひどすぎるので、書いておきます。

既に950XLはAmazonに出てるようだが、950はまだ出てない様子。

by - [-]
Rank/Rating: -/-
Price: -

開封の儀

まず箱がでかい。2015年末の端末とは思えない。

左がLumia950, 右が930の箱

左がLumia950, 右が930の箱

Continue reading

[UWP] VisualStateManagerを使って画面サイズ, 向きによっていい感じにレイアウトを変える

Windows10, Windows 10 mobileそれぞれで、同じプロジェクトのアプリケーションが動作するようになった。ここだけ聞くと夢の国に聞こえるが、例によって画面サイズの問題がついてまわる。はぁ。

VisualStateTriggerを使うと、groupごとにstateを定義して、画面サイズの変化によってstateを遷移させることができる。このときにXAMLのプロパティを変えたり、コードビハインドでハンドラを叩いたりさせることができる。

Continue reading