2011年11月2日水曜日

QRコードメーカ


WindowsPhone7の標準で組み込まれているQRコードリーダは良くできてるなー、自分のアプリから使用するにはどうすればいいんだろう...とうい疑問から始まりましたが、ひとまず自分のアプリからQRコードを表示する方法を試してみました。

QRコード表示して何に使うか!は夢が広がりますが、やっぱりリーダも使えないと中途半端かな。
まぁいずれ解決されるでしょう。それはさておき


QRコードを表示するアプリを作る
他力本願なアプローチでなるべく簡単にします。
まずプロジェクトを作って、MainPageに

  1. TextBox
  2. Button
  3. Image

を配置します。 Image のSourceに以下のURLを指定します

http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=Shift_JIS&chl=http://nextgate.blogspot.com/
XAMLは下記のようになりました
  1. <!--ContentPanel - 追加コンテンツをここに入力します-->  
  2. <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" Grid.RowSpan="2">  
  3.     <Grid.RowDefinitions>  
  4.         <RowDefinition Height="Auto"/>  
  5.         <RowDefinition Height="0.817*"/>  
  6.     </Grid.RowDefinitions>  
  7.     <StackPanel>  
  8.         <TextBox x:Name="textBox1" Text="" AcceptsReturn="True" InputScope="Url" TextWrapping="Wrap" />  
  9.         <Button Content="作成" Click="Button_Click" />  
  10.     </StackPanel>  
  11.     <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&amp;cht=qr&amp;choe=Shift_JIS&amp;chl=http%3A%2F%2Fnextgate.blogspot.com%2F" />  
  12. </Grid>  
という感じでUrlを指定します。


こんな感じになります。
なんかもうQRコードが表示されてて、完成したみたいです。

これだけだと使い道がないので、ユーザーが指定した文字列のQRコードを表示するようにしてみます。

”作成”ボタンを押したときのコードを記述します。ボタンをダブルクリックして以下のようにコードを追加します

  1. private void Button_Click(object sender, RoutedEventArgs e)  
  2. {  
  3.     string url_base = "http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=Shift_JIS&chl={0}";  
  4.   
  5.     string url = string.Format(url_base, Uri.EscapeDataString(textBox1.Text));  
  6.   
  7.     image1.Source = new BitmapImage(new Uri(string.Format(url_base, textBox1.Text), UriKind.Absolute));  
  8.   
  9. }  

GoogleChart APIにテキストボックスの文字列を追加したURLを作成して、Imageのソースとして設定するコードです

これで完成





プロジェクトファイル QRMaker.zip


0 件のコメント: