【ストアアプリ】画像の光学式ズーム

公開日: : 最終更新日:2015/10/20 Blog, Microsoft , ,

こんにちは。
スマートデバイスといえばタッチ操作、ということで
今日はWindowsストアアプリでのピンチイン・ピンチアウトによる
画像の拡大・縮小方法を実装してみます。

プロジェクトに画像を追加します。

mani1

mani2

ManipulationDeltaイベントを使います。
※このイベントはPresentationFramework.dllにも存在し、WPF上でも同様に実現が可能だと思います。

<Page
    x:Class="ManipulationSample.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:ManipulationSample"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Image x:Name="hoge" Width="500" Height="500" Source="ms-appx:///Assets/nezumi.png"
               RenderTransformOrigin="0.5,0.5"
               ManipulationMode="Scale"
               ManipulationDelta="Image_ManipulationDelta"/>
    </Grid>
</Page>
private void Image_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
    hoge.Width *= e.Delta.Scale;
    hoge.Height *= e.Delta.Scale;
}

mani3 mani4
シミュレータ上では縮小/拡大モードを選択し、任意の位置をクリック&マウスホイールでピンチイン・ピンチアウト操作が行えます。

【参考】
https://msdn.microsoft.com/ja-jp/library/windows/apps/windows.ui.xaml.input.manipulationmodes.aspx

関連記事

[UWP]Releaseビルド時に、OData.ClientでSystem.Reflection.MissingMetadataExceptionが発生する

UWPでDebugビルドでは問題ないけど、Releaseビルドにすると、Microsoft.ODat

記事を読む

Hardware assisted virtualization and data execution protection must be enabled in the BIOS

MacBook Pro + Bootcamp + Windows10 で Docker for Wi

記事を読む

no image

【解決】Visual Studio 2015 Update1 の Xamarin.Forms でインテリセンスを使いたい

前回保留になっていた問題が解決したのでメモっときます。 Visual Studio 2015 Up

記事を読む

AdMob,Nendメディエーション時の優先順位

先日リリースしたアプリでは勉強を兼ねて、 AdMob+Nendでのメディエーション広告を実装し

記事を読む

【.NET Framework 4.6.1】MultiLineなTextBoxでCtrl+Aが使えない問題が解決(今更)

WinForms.NETなアプリケーションの標準TextBoxで、Multiline=Trueに設定

記事を読む

【ストアアプリ】タイル通知(TileUpdateManager)について

こんにちは。 ストアアプリでタイル通知を行う方法を調べました。 前回のトースト通知と

記事を読む

no image

UWPでMicrosoft.OData.Clientを使用する時、LINQ式でエラー

UWPからは非同期メソッドを実行する必要があるので、通常はExecuteAsyncをコールするが、

記事を読む

【WPF/XAML】チェックボックスのデザイン変更

[xml] <Window x:Class="Sample"

記事を読む

no image

Windows 10 IoT Core の 製品化メモ

概念実証(Proof of concept)を終了し、製品化を行いたい場合のステップ サインア

記事を読む

no image

Microsoft Bot Frameworkでテキストメッセージではなく、添付ファイルを使用する

activity.Attachmentsに添付ファイル入っている。 ContentTypeで画像か判

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑