#wp7dev_jp
Windows Phone トライアスロンに向けて皆さん走り出していますか?
さて、アプリケーションをどんな感じで作ったらいいのかわからない方のために、テンプレート (ZIP 形式/557 KB) を用意しています。使い方などは詳しくはWindows Phone トライアスロンのサポート欄をご覧ください。なお、もちろん自分で作れる方はテンプレートを使う必要はありません。
加工方法を変える
さて、このテンプレートですが、そのまま作ると枠をつけて画像を傾けるという処理になっていますが、そのほかいくつかの画像処理例が入っています。コメントアウトを外すと試すことができるので使ってみるといいでしょう。(最後の加工はほかのエフェクトはコメントアウトして使ってください)
解像度を上げる
このテンプレートでは440x440の解像度の写真が保存されます。画面のサイズに合わせてるためですが、これはちょっと小さいと感じるかもしれません。そこで解像度を上げてみましょう。MainPage.xaml と MainPage.xaml.cs を変更します。
MainPage.xaml
変更は3か所4項目です。1024, 768の部分は保存したい画像サイズを選んでみてください。ただし、2048以上にはしないようにしてください。
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <Viewbox Name="imgView"> <Grid Width="1024" Height="768" Name="imgGrid" Background="White"> <Image Margin="0" Stretch="Uniform" Name="imgPhoto" Source="/PhotoEffect1;component/image/Logo.png" /> <Image Margin="0" Stretch="Fill" Name="imgPicture"/> <Border Name="frame" BorderBrush="White" /> </Grid> </Viewbox > </Grid>
解像度は縦横別でも構いません。大きくなった画像を、画面内に見た目上だけ首相させるために Toolkit のViewbox を使っています(すでに参照済み)。imgPhotoのオプションは初めから Uniform にしておけばよかったです。
MainPage.xaml.cs
ここも、はじめからこのようにしておけばよかったです。
// 【処理1-1】 画像選択機能呼び出し private void btnLoad_Click(object sender, EventArgs e) { task.PixelWidth = (int)imgGrid.Width; task.PixelHeight = (int)imgGrid.Height; task.Show(); }
このようにすれば、解像度を上げることができます。ただ、エフェクトの処理時間が一寸遅くなるので注意と、白枠は相対的に細くなるので、太くした方がいいでしょうね。
ということで、皆さんのご参加をお待ちしています。