{"id":5167,"date":"2013-09-15T12:45:49","date_gmt":"2013-09-14T18:45:49","guid":{"rendered":"http:\/\/www.moonmile.net\/blog\/?p=5167"},"modified":"2013-09-16T00:35:50","modified_gmt":"2013-09-15T15:35:50","slug":"winrt-%e7%94%bb%e5%83%8f%e3%82%92%e4%b8%b8%e3%81%8f%e5%88%87%e3%82%8a%e6%8a%9c%e3%81%84%e3%81%a6%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"http:\/\/www.moonmile.net\/blog\/archives\/5167","title":{"rendered":"[WinRT] \u753b\u50cf\u3092\u4e38\u304f\u5207\u308a\u629c\u3044\u3066\u8868\u793a\u3059\u308b\u65b9\u6cd5"},"content":{"rendered":"<p>\u30a2\u30d7\u30ea\u958b\u767a\u4f01\u753b Spotlight \u30b9\u30bf\u30fc\u30c8\uff01 &#8211; \u9ad8\u6a4b \u5fcd\u306e\u30d6\u30ed\u30b0 &#8211; Site Home &#8211; MSDN Blogs<br \/>\n<a href=\"http:\/\/blogs.msdn.com\/b\/shintak\/archive\/2013\/09\/03\/10445963.aspx\">http:\/\/blogs.msdn.com\/b\/shintak\/archive\/2013\/09\/03\/10445963.aspx<\/a><\/p>\n<p>\u306e\u4e2d\u306b\u300c\u8266\u3053\u308c\u300d\u306e\u5358\u8a9e\u304c\u3042\u308b\u306e\u3067\u3001\u305d\u306e\u307e\u307e\u6226\u7565\u30dc\u30fc\u30c9\u3092\u4f5c\u308b\u306e\u306f\u3064\u307e\u3089\u306a\u3044\u306e\u3067\u3001\u6628\u6669\u3064\u304f\u3063\u3066\u307f\u305f\u306e\u304c\u3053\u308c\u3067\u3059\u3002<\/p>\n<p><a href=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/09\/wpid-dworkblogimage20130915_01org.jpg\"><img decoding=\"async\" src=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/09\/wpid-dworkblogimage20130915_01thum.jpg\" border=\"0\" \/><\/a><\/p>\n<p>\u6226\u7565\u30dc\u30fc\u30c9\u3068\u306f\u306a\u3093\u304b\u9055\u3046&#8230;\u3068\u3044\u3046\u304b\u3001\u5168\u304f\u9055\u3046\u3082\u306e\u306b\u306a\u3063\u3066\u3057\u307e\u3063\u305f\u306e\u3067\u30a2\u30ec\u3067\u3059\u3057\u3001\u305d\u306e\u307e\u307e\u3067\u7248\u6a29\u306e\u554f\u984c\u304c\u3042\u308b\u304b\u3089\u30b9\u30c8\u30a2\u306b\u306f\u51fa\u305b\u306a\u3044\uff08\u3068\u601d\u3046\uff09\u306e\u3067\u3001\u30c6\u30af\u30cb\u30c3\u30af\u7684\u306b\u6652\u3057\u3066\u304a\u304d\u307e\u3059\u3002<br \/>\n\u5143\u753b\u50cf\u304b\u3089\u5186\u5f62\u3067\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u3057\u3066\u3001\u305d\u308c\u3092\u8997\u3044\u3066\u307f\u308b\u3001\u3068\u3044\u3046\u30b5\u30fc\u30c1\u30e9\u30a4\u30c8\u307f\u305f\u306a\u52b9\u679c\u3067\u3059\u306d\u3002\u3072\u3068\u3064\u3060\u3051\u306e\u30b5\u30fc\u30c1\u30e9\u30a4\u30c8\u306e\u5834\u5408\u3001\u9ed2\u306e\u900f\u904e\u753b\u50cf\u3092\u4f7f\u3063\u3066\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u3059\u308b\u307b\u3046\u304c\u697d\u306a\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306e\u3088\u3046\u306b\u8907\u6570\u306e\u5186\u3092\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u3057\u3066\u8868\u793a\u3055\u305b\u308b\u5834\u5408\u306b\u306f\u3001\u76f4\u63a5\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\u3067\u3082\u3001\u9700\u8981\u306f\u3042\u308b\u306e\u304b\uff1f<\/p>\n<p>\u25a0WinRT\u3067\u306fClip\u304c\u56db\u89d2\u3057\u304b\u3067\u304d\u306a\u3044<\/p>\n<p>\u753b\u50cf\u3092\u4e38\u304f\u5207\u308a\u629c\u304f\u305f\u3081\u306b\u306f\u3001WPF \u3067\u306f EllipseGeometry \u3092\u4f7f\u3046\u306e\u3067\u3059\u304c\u6b8b\u5ff5\u306a\u304c\u3089\u30b9\u30c8\u30a2\u30a2\u30d7\u30ea\u306e WinRT \u306b\u306f\u3053\u308c\u304c\u3042\u308a\u307e\u305b\u3093\u3002RectangleGeometry \u3068\u3044\u3046\u77e9\u5f62\u306e\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u3057\u304b\u3067\u304d\u306a\u3044\u306e\u3067\u3001\u77e9\u5f62\u4ee5\u5916\u306e\u30af\u30ea\u30c3\u30d7\u306b\u306f ImageBrush \u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<p>\u30af\u30a4\u30c3\u30af \u30b9\u30bf\u30fc\u30c8: Image \u3068 ImageBrush (Windows)<br \/>\n<a href=\"http:\/\/msdn.microsoft.com\/ja-jp\/library\/windows\/apps\/hh868203.aspx\">http:\/\/msdn.microsoft.com\/ja-jp\/library\/windows\/apps\/hh868203.aspx<\/a><\/p>\n<p>WFP \u3067\u306f\u3001\u3067\u304d\u3066\u3044\u305f\u3082\u306e\u304c\u3001WinRT \u3067\u4f7f\u3048\u306a\u3044\u306e\u306f\u3069\u3046\u306a\u306e\uff1f\u3068\u3044\u3046\u6c17\u3082\u3057\u307e\u3059\u304c\u3001\u307e\u3042\u3001\u63cf\u753b\u901f\u5ea6\u3092\u8003\u3048\u305f\u51e6\u7f6e\u306a\u306e\u3067\u3057\u3087\u3046\u3002\u3061\u306a\u307f\u306b\u30018.1 \u3067\u3082 RectangleGeometry \u4ee5\u5916\u306f\u4f7f\u3048\u306a\u3044\u306e\u3067\u3001\u5b9f\u88c5\u6f0f\u308c\u3068\u3044\u3046\u308f\u3051\u3067\u306f\u306a\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u25a0\u5186\u3067\u30af\u30ea\u30c3\u30d7\u3059\u308b\u305f\u3081\u306b\u306fFill\u3092\u4f7f\u3046<\/p>\n<p>\u3053\u3053\u3067\u306f\u3001\u52d5\u7684\u306b\u753b\u50cf\u3092\u8a2d\u5b9a\u3057\u305f\u3044\u306e\u3067\u3001\u30b3\u30fc\u30c9\u3067\u66f8\u3044\u3066\u3044\u307e\u3059\u304c\u3001XAML \u3060\u3051\u3067\u66f8\u304f\u3068\u3053\u3093\u306a\u611f\u3058\u306b\u306a\u308a\u3042\uff4d\u3059\u3002<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;Ellipse StrokeThickness=&amp;quot;4&amp;quot; Stroke=&amp;quot;Green&amp;quot;\r\n         Canvas.Left=&amp;quot;60&amp;quot; Canvas.Top=&amp;quot;54&amp;quot; Width=&amp;quot;200&amp;quot; Height=&amp;quot;200&amp;quot;&gt;\r\n    &lt;Ellipse.Fill&gt;\r\n        &lt;ImageBrush\r\n            Stretch=&amp;quot;None&amp;quot;\r\n            ImageSource=&amp;quot;ms-appx:\/\/\/images\/64&#x5B;8].png&amp;quot;&gt;\r\n        &lt;\/ImageBrush&gt;\r\n    &lt;\/Ellipse.Fill&gt;\r\n&lt;\/Ellipse&gt;\r\n<\/pre>\n<p><img decoding=\"async\" src=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/09\/wpid-dworkblogimage20130915_02.jpg\" border=\"0\" \/><\/p>\n<p>Stretch=&#8221;None&#8221; \u306b\u3057\u3066\u3042\u308b\u306e\u306f\u3001\u5143\u306e\u30b5\u30a4\u30ba\u306e\u307e\u307e\u8868\u793a\u3055\u305b\u308b\u305f\u3081\u306a\u306e\u3067\u3059\u304c\u3001None \u306e\u6642\u306f\u753b\u50cf\u306e\u4e2d\u5fc3\u3067\u8868\u793a\u3055\u308c\u308b\u306e\u304c\u66f2\u8005\u3067\u3059\u306d\u3002\u3053\u308c\u3092\u5de6\u4e0a\u3092\u539f\u70b9\u306b\u3059\u308b\u305f\u3081\u306b\u3001\u753b\u50cf\u306e\u30b5\u30a4\u30ba\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u25a0\u62e1\u5927\u7e2e\u5c0f\u306e\u305f\u3081\u306bManipulationDelta\u3092\u4f7f\u3046<\/p>\n<p>\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u79fb\u52d5\u3068\u30b5\u30a4\u30ba\u5909\u66f4\u306b\u306f\u3001ManipulationDelta \u30a4\u30d9\u30f3\u30c8\u3092\u4f7f\u3044\u307e\u3059\u3002\u62e1\u5927\u7e2e\u5c0f\u306e\u5834\u5408\u306f\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u4e2d\u5fc3\u3092\u539f\u70b9\u306b\u3057\u3066\u884c\u3044\u305f\u3044\u306e\u3067\u3001\u3053\u3093\u306a\u98a8\u306b x,y \u5ea7\u6a19\u3092\u8abf\u7bc0\u3059\u308b\u5fc5\u8981\u3042\u308a\u307e\u3059\u3002Canvas \u3092\u3064\u304b\u3046\u3068\u8a08\u7b97\u304c\u591a\u5c11\u697d\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nprivate void Grid_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)\r\n{\r\n    var el = e.OriginalSource as UIElement;\r\n\r\n    if (e.Delta.Scale == 1.0)\r\n    {\r\n        double x = Canvas.GetLeft(el) + e.Delta.Translation.X;\r\n        double y = Canvas.GetTop(el) + e.Delta.Translation.Y;\r\n        Canvas.SetLeft(el, x);\r\n        Canvas.SetTop(el, y);\r\n    }\r\n    else\r\n    {\r\n        double w = ((Circle)el).Width;\r\n        double h = ((Circle)el).Height;\r\n        double x = Canvas.GetLeft(el);\r\n        double y = Canvas.GetTop(el);\r\n        x -= (e.Delta.Scale-1.0) * w \/2.0;\r\n        y -= (e.Delta.Scale-1.0) * h \/2.0;\r\n        w *= e.Delta.Scale;\r\n        h *= e.Delta.Scale;\r\n        Canvas.SetLeft(el, x);\r\n        Canvas.SetTop(el, y);\r\n        ((Circle)el).Width = w;\r\n        ((Circle)el).Height = h;\r\n    }\r\n}\r\n<\/pre>\n<p>\u25a0\u753b\u50cf\u306e\u4f4d\u7f6e\u5408\u308f\u305b\u3092\u3059\u308b\u305f\u3081\u306bTranslateTransform\u3092\u4f7f\u3046<\/p>\n<p>\u79fb\u52d5\u3055\u305b\u308b\u305f\u3081\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3068\u3057\u3066\u4f5c\u3063\u3066\u304a\u304d\u307e\u3059\u3002<br \/>\n\u53c2\u7167\u3055\u305b\u305f\u3044\u3068\u3053\u308d\uff08TranslateTransform \u306e X,Y \u306e\u5ea7\u6a19\uff09\u306f\u3001\u3042\u3089\u304b\u3058\u3081\u540d\u524d\u3092\u4ed8\u3051\u3066\u304a\u304d\u307e\u3059\u3002TranslateTransform \u3068\u3044\u3046\u306e\u306f\u3001\u5148\u306e ImageBrush \u3067\u63cf\u753b\u3059\u308b\u3068\u304d\u306e\u539f\u70b9\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\u3067\u3059\u3002<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n    x:Class=&amp;quot;SearchLight.Circle&amp;quot;\r\n    xmlns=&amp;quot;http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation&amp;quot;\r\n    xmlns:x=&amp;quot;http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml&amp;quot;\r\n    xmlns:local=&amp;quot;using:SearchLight&amp;quot;\r\n    xmlns:d=&amp;quot;http:\/\/schemas.microsoft.com\/expression\/blend\/2008&amp;quot;\r\n    xmlns:mc=&amp;quot;http:\/\/schemas.openxmlformats.org\/markup-compatibility\/2006&amp;quot;\r\n    mc:Ignorable=&amp;quot;d&amp;quot;\r\n    d:DesignHeight=&amp;quot;200&amp;quot;\r\n    d:DesignWidth=&amp;quot;200&amp;quot;\r\n    ManipulationDelta=&amp;quot;UserControl_ManipulationDelta&amp;quot; SizeChanged=&amp;quot;UserControl_SizeChanged&amp;quot;\r\n    &gt;\r\n    &lt;Grid&gt;\r\n        &lt;Ellipse StrokeThickness=&amp;quot;4&amp;quot; Stroke=&amp;quot;Red&amp;quot; &gt;\r\n            &lt;Ellipse.Fill&gt;\r\n                &lt;ImageBrush\r\n                    x:Name=&amp;quot;ib&amp;quot;\r\n                    Stretch=&amp;quot;None&amp;quot;&gt;\r\n                    &lt;ImageBrush.Transform&gt;\r\n                        &lt;TranslateTransform\r\n                            x:Name=&amp;quot;tr&amp;quot;\r\n                            X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot;&gt;&lt;\/TranslateTransform&gt;\r\n                    &lt;\/ImageBrush.Transform&gt;\r\n                &lt;\/ImageBrush&gt;\r\n            &lt;\/Ellipse.Fill&gt;\r\n        &lt;\/Ellipse&gt;\r\n    &lt;\/Grid&gt;\r\n&lt;\/UserControl&gt;\r\n<\/pre>\n<p>\u305d\u3093\u306a\u8a33\u3067\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u79fb\u52d5\u3057\u3066\u3082\u3001\u5143\u306e\u753b\u50cf\u3092\u79fb\u52d5\u305b\u305a\u306b\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u3059\u308b\u3001\u3068\u3044\u3046\u30a4\u30d9\u30f3\u30c8\u304c\u4f5c\u308c\u307e\u3059\u3002\u539f\u70b9\u304b\u3089\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u4f4d\u7f6e\u306f\u3001TransformPoint \u3092\u4f7f\u3063\u3066\u53d6\u3063\u3066\u3044\u307e\u3059\u304c\u3001\u5b9f\u969b\u306f\u753b\u50cf\u306e\u539f\u70b9\u304b\u3089\u5408\u308f\u305b\u305f\u307b\u3046\u304c\u3088\u3044\u306e\u3067\u3001\u3082\u3046\u3061\u3087\u3063\u3068\u9055\u3046\u66f8\u304d\u65b9\u304c\u5fc5\u8981\u304b\u3082\u3002<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nprivate void UserControl_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)\r\n{\r\n    var pt = this.TransformToVisual(null).TransformPoint(new Point(0, 0));\r\n    marX = (_imageSize.Width - this.Width) \/ 2.0;\r\n    marY = (_imageSize.Height - this.Height) \/ 2.0;\r\n    tr.X = -pt.X + marX;\r\n    tr.Y = -pt.Y + marY;\r\n}\r\n<\/pre>\n<p><a href=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/09\/wpid-dworkblogimage20130915_01org1.jpg\"><img decoding=\"async\" src=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/09\/wpid-dworkblogimage20130915_01thum1.jpg\" border=\"0\" \/><\/a><\/p>\n<p>\u305d\u3093\u306a\u8a33\u3067\u3001\u6226\u7565\u30dc\u30fc\u30c9\u306e\u3088\u3046\u306b\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u8ffd\u52a0\u3057\u3066\u3001\u5186\u3092\u79fb\u52d5\u3055\u305b\u305f\u308a\u3001\u62e1\u5927\u7e2e\u5c0f\u3055\u305b\u305f\u308a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u305f\u306e\u3067\u3059\u304c\u3001\u79fb\u52d5\u3055\u305b\u3066\u3044\u308b\u3068\u304d\u306b\u753b\u50cf\u304c\u305a\u308c\u308b\u306e\u304c\u6c17\u306b\u98df\u308f\u306a\u3044\u3067\u3059\u3088\u306d\u3002\u3048\u3048\u3001\u3053\u306e\u3042\u305f\u308a\u306f\u3001Clip\u3068ImageBrush\u306b\u3088\u308bFill\u306e\u9055\u3044\u304b\u3068\u3002\u305f\u3076\u3093\u3001WPF\u3067Clip\u3092\u4f7f\u3063\u305f\u307b\u3046\u304c\u30b9\u30e0\u30fc\u30b9\u306b\u52d5\u304f\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p><a title=\"20130915_03\" href=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/09\/20130915_03.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/09\/20130915_03-300x185.jpg\" alt=\"20130915_03\" width=\"395\" height=\"243\" class=\"alignnone size-medium wp-image-5170\" srcset=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/09\/20130915_03-300x185.jpg 300w, http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2013\/09\/20130915_03.jpg 937w\" sizes=\"auto, (max-width: 395px) 100vw, 395px\" \/><\/a><\/p>\n<p>\u25a0\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9<\/p>\n<p>\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306f\u3001\u4ee5\u4e0b\u304b\u3089\u3069\u3046\u305e\u3002<br \/>\n<a href=\"http:\/\/sdrv.ms\/1eAP7yp\">http:\/\/sdrv.ms\/1eAP7yp<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30a2\u30d7\u30ea\u958b\u767a\u4f01\u753b Spotlight \u30b9\u30bf\u30fc\u30c8\uff01 &#8211; \u9ad8\u6a4b \u5fcd\u306e\u30d6\u30ed\u30b0 &#8211; Site Home &#8211; MSDN Blogs http:\/\/blogs.msdn.com\/b\/shintak\/ &hellip; <a href=\"http:\/\/www.moonmile.net\/blog\/archives\/5167\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3,23,52],"tags":[],"class_list":["post-5167","post","type-post","status-publish","format-standard","hentry","category-dev","category-csharp","category-winrt"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/5167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/comments?post=5167"}],"version-history":[{"count":4,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/5167\/revisions"}],"predecessor-version":[{"id":5171,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/5167\/revisions\/5171"}],"wp:attachment":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/media?parent=5167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/categories?post=5167"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/tags?post=5167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}