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

公開日: : 最終更新日: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

関連記事

no image

TFS2013ExpressでService Unavailable 503

【現象】 TFSつながらない。ブラウザからのホームもVisualStudioのチームエクスプローラ

記事を読む

no image

Windows 10 IoT Core の 製品化メモ

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

記事を読む

no image

【iPhoneアプリ】Nend広告の実装メモ

広告枠の作成 https://www.nend.net/ 審査前アプリのURL iPhon

記事を読む

no image

【WPF/XAML】Buttonのテキスト(Content)を自動改行/折り返しさせる

今更WPFを触りはじめました。 それまではほぼ.NETは2.0止まりというオワコン開発者です。

記事を読む

no image

【C#,WinForms】XMLデータをListViewに表示し、チェック項目のみXML保存させる

MSDNフォーラムの以下についてサンプルを組んだので掲載。 ListViewでチェックされた値

記事を読む

no image

No registered resource provider found for location ‘Japan East’ and API version ‘2.0’ for type ‘servers’.

Visual Studio から Azure Web Apps をデプロイするときに発生したエラーの

記事を読む

no image

Xamarin.Forms で ScrollView の中に Map を配置したとき、Androidで地図のスクロールが出来なくなる

iOSは問題ないけど、AndroidはScrollViewにタッチを持ってかれてる感じ。 カスタ

記事を読む

シマンテックインストール時に「指定されたパスが空です。」

Windows10 64bit, Symantec Endpoint Protection はおそら

記事を読む

no image

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

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

記事を読む

【VisualStudio2015】UWPアプリケーションのXAMLデザイナにて「パッケージを登録できませんでした。」

VisualStudio2015 / UWPアプリケーション / XAMLデザイナ / エラー のメ

記事を読む

Message

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

PAGE TOP ↑