WindowsPhone7の標準で組み込まれているQRコードリーダは良くできてるなー、自分のアプリから使用するにはどうすればいいんだろう...とうい疑問から始まりましたが、ひとまず自分のアプリからQRコードを表示する方法を試してみました。
QRコード表示して何に使うか!は夢が広がりますが、やっぱりリーダも使えないと中途半端かな。
まぁいずれ解決されるでしょう。それはさておき
QRコードを表示するアプリを作る
他力本願なアプローチでなるべく簡単にします。
まずプロジェクトを作って、MainPageに
- TextBox
- Button
- Image
を配置します。 Image のSourceに以下のURLを指定します
http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=Shift_JIS&chl=http://nextgate.blogspot.com/
XAMLは下記のようになりました
<!--ContentPanel - 追加コンテンツをここに入力します--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" Grid.RowSpan="2"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="0.817*"/> </Grid.RowDefinitions> <StackPanel> <TextBox x:Name="textBox1" Text="" AcceptsReturn="True" InputScope="Url" TextWrapping="Wrap" /> <Button Content="作成" Click="Button_Click" /> </StackPanel> <Image Margin="0" x:Name="image1" Stretch="Fill" d:LayoutOverrides="GridBox" Grid.Row="1" HorizontalAlignment="Center" Width="300" Height="300" Source="http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=Shift_JIS&chl=http%3A%2F%2Fnextgate.blogspot.com%2F" /> </Grid>という感じでUrlを指定します。
こんな感じになります。
なんかもうQRコードが表示されてて、完成したみたいです。
これだけだと使い道がないので、ユーザーが指定した文字列のQRコードを表示するようにしてみます。
”作成”ボタンを押したときのコードを記述します。ボタンをダブルクリックして以下のようにコードを追加します
private void Button_Click(object sender, RoutedEventArgs e) { string url_base = "http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=Shift_JIS&chl={0}"; string url = string.Format(url_base, Uri.EscapeDataString(textBox1.Text)); image1.Source = new BitmapImage(new Uri(string.Format(url_base, textBox1.Text), UriKind.Absolute)); }
GoogleChart APIにテキストボックスの文字列を追加したURLを作成して、Imageのソースとして設定するコードです
これで完成
プロジェクトファイル QRMaker.zip
0 件のコメント:
コメントを投稿