#author("2019-05-19T14:47:25+09:00","default:kyo-in","kyo-in")
#author("2023-06-19T10:33:07+09:00","default:kyo-in","kyo-in")
**¥¹¥È¥í¡¼¥¯ [#v260e47d]
¥¹¥È¥í¡¼¥¯¤ÎÉÁ²è¤ò¼ÂÁõ¤¹¤ë¡¥
²ÝÂꡧ¥¹¥È¥í¡¼¥¯¤ÎÉÁ²è¤ò¼ÂÁõ¤¹¤ë¡¥

#ref(./drawstroke.gif,50%);

**Àþ¤Î¹½À®Í×ÁÇ [#o1dad5d8]
UWP¤Ç¤ÏGUI¤ò¹½À®¤¹¤ëÉôÉʤλҤȤ·¤Æ¡¤Shape¥¯¥é¥¹¤òÄɲ乤뤳¤È¤Ç¿Þ·Á¤òÉÁ²è¤Ç¤­¤ë¡¥

Àþ¤Ï¡¤Shape¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤ëLine¥¯¥é¥¹¡¤¤â¤·¤¯¤ÏPath¥¯¥é¥¹¤ò»ÈÍѤ¹¤ë¤¬¡¤¤³¤³¤Ç¤ÏPath¥¯¥é¥¹¤ò»ÈÍѤ¹¤ë¡¥

Path¥¯¥é¥¹¤Ç¤Ï¡¤Àþ¤Î¿§¤äÂÀ¤µ¤òÀßÄꤷ¡¤Data¥á¥ó¥Ð¤ËÀþ¤Î·Á¾õ¤¬Æþ¤Ã¤¿PathGeometry¤òÍ¿¤¨¤ë¡¥

PathGeometry¥¯¥é¥¹¤Ï¡¤±ß¸Ì¡ÊArcs¡Ë¡¤¶ÊÀþ¡ÊCurves¡Ë¡¤Ä¾Àþ¡ÊLines¡Ë¤Ê¤É¡¤¼ïÎà¤Î°Û¤Ê¤ëĺÅÀ¥Ù¡¼¥¹¤ÇÍ¿¤¨¤é¤ì¤ëÊ£¿ô¤Î·Á¾õ¥Ç¡¼¥¿(PathFigure)¤ò¤Þ¤È¤á¤ë¤â¤Î¤Ç¤¢¤ë¡¥¼ÂºÝ¤Ë¤ÏFigures¥á¥ó¥Ð¤ËPathFigure¥¤¥ó¥¹¥¿¥ó¥¹¤òÍ¿¤¨¤ë¡¥

PathFigure¤ÏÊ£¿ô¤ÎSegment¤Ç¹½À®¤µ¤ì¤¿¿Þ·Á¤òɽ¤¹¥¯¥é¥¹¤Ç¡¤³«»ÏÅÀ¤ä¿Þ·Á¤ÎÊĤ¸¤Ê¤É¤ÎÀßÄê¤ò¹Ô¤¦¡¥¼ÂºÝ¤Ë¤ÏSegments¥á¥ó¥Ð¤ËSegment¤ò·Ñ¾µ¤·¤¿BezierSegment, LineSegment, PolyBezierSegment, PolyLineSegment, PolyQuadraticBezierSegment, QuadraticBezierSegment¤Ê¤É¤¤¤º¤ì¤«¤ÎSegment¥¤¥ó¥¹¥¿¥ó¥¹¤òÄɲ乤롥

º£²ó¡¤¥¹¥È¥í¡¼¥¯¤ÏÊ£¿ôÅÀ¤òñ½ã¤Ë·ë¤ó¤ÀÀþ¤È¤Ê¤ë¤¿¤á¡¤PolyLineSegment¤ò»ÈÍѤ¹¤ë¡¥

PolyLineSegment¤ÎPoints¥á¥ó¥Ð¤ËºÂɸ¤òµ­¤·¤¿Ê£¿ô¸Ä¤ÎPoint¤òPoints¥á¥ó¥Ð¤ËÍ¿¤¨¤ë¤³¤È¤Ç¡¤¤½¤ì¤é¤òľÀþ¤Ç·ë¤ó¤ÀÀþ¤òÉÁ²è¤¹¤ë¡¥Points¥á¥ó¥Ð¤ÎÁàºî¤ÇÅÀ¤ÎÁý¸º¤¬¤¢¤Ã¤¿¾ì¹ç¤Ï¥ê¥¢¥ë¥¿¥¤¥à¤Ë²èÌ̤ËÈ¿±Ç¤µ¤ì¤ë¡¥

#ref(./path.png,50%);

           //¥×¥í¥°¥é¥à¾åÉô¤Î
           //using System.IO; ¤ò¥³¥á¥ó¥È¥¢¥¦¥È
           //using Windows.UI;¡¡¤òÄɲÃ
           //using Windows.UI.Xaml.Shapes;¡¡¤òÄɲÃ
           PathFigure myPathFigure = new PathFigure();
           myPathFigure.StartPoint = new Point(10, 50);
 
           LineSegment myLineSegment = new LineSegment();
           myLineSegment.Point = new Point(200, 70);
 
           PathSegmentCollection myPathSegmentCollection = new PathSegmentCollection();
           myPathSegmentCollection.Add(myLineSegment);
 
           myPathFigure.Segments = myPathSegmentCollection;
 
           PathFigureCollection myPathFigureCollection = new PathFigureCollection();
           myPathFigureCollection.Add(myPathFigure);
 
           PathGeometry myPathGeometry = new PathGeometry();
           myPathGeometry.Figures = myPathFigureCollection;
 
           Path myPath = new Path();
           myPath.Stroke = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));
           myPath.StrokeThickness = 1;
           myPath.Data = myPathGeometry;
 
           MainCanvas.Children.Add(myPath);

-¿Þ·Á¤ÎÉÁ²è - Windows UWP applications~
https://docs.microsoft.com/ja-jp/windows/uwp/design/controls-and-patterns/shapes

**¼ê½ç [#j09d98fb]
Î㳰Ū¤Ê½èÍý¤ò¹Íθ¤·¤Ê¤±¤ì¤Ð¡¤

ÉÁ²èÃæ¤ÎPath¥¯¥é¥¹¤òÊÝ»ý¤¹¤ë¥á¥ó¥ÐÊÑ¿ô¡Ê²¾¤ËdrawingStroke¤È̾ÉÕ¤±¤ë¡Ë¤òÄɲä·¡¤

+PointerPressed¥¤¥Ù¥ó¥È¡§drawingStroke¡ÊPath¥¯¥é¥¹¡Ë¤ËɬÍפʥ¯¥é¥¹¥¤¥ó¥¹¥¿¥ó¥¹°ì¼°¤òÀ¸À®
+PointerMoved¥¤¥Ù¥ó¥È¡§drawingStroke¤¬null¤Ç¤Ê¤±¤ì¤Ð¡¤¥¹¥È¥í¡¼¥¯ÉÁ²èÃæ¤Ç¤¢¤ë¤«¤é¸½ºß¤Î¥Þ¥¦¥¹ºÂɸ¤òPolyLineSegment¤ÎPoints¥á¥ó¥Ð¤ËAdd¤¹¤ë
+PointerReleased¥¤¥Ù¥ó¥È¡§drawingStroke¤¬null¤Ç¤Ê¤±¤ì¤Ð¡¤ÉÁ¤­½ª¤ï¤Ã¤¿¤³¤È¤ò¼¨¤¹¤¿¤ánull¤Ë¤·¤Æ¤ª¤¯

¼ÂºÝ¤Ë¤Ï¥¹¥È¥í¡¼¥¯ÉÁ²èÅÓÃæ¡Ê¥Þ¥¦¥¹¥Ü¥¿¥ó¤¬²¡¤µ¤ì¤¿¤Þ¤Þ¡Ë¤Ç¥¦¥¤¥ó¥É¥¦¤Î¥Õ¥©¡¼¥«¥¹¤¬³°¤ì¤¿¡¤¥Þ¥¦¥¹¥«¡¼¥½¥ë¤¬¥¦¥¤¥ó¥É¥¦³°¤Ë½Ð¤¿¾ì¹ç¤Ê¤É¡¤PointerReleased¥¤¥Ù¥ó¥È¤¬µ¯¤­¤º¤Ë¥¹¥È¥í¡¼¥¯ÉÁ²è¤ò½ªÎ»¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¾ìÌ̤⤢¤ë¡¥

***Path¥¯¥é¥¹¤«¤éPolyLineSegment¤Ø¥¢¥¯¥»¥¹¤¹¤ë [#b071af12]
Windows.UI.Xaml.Shapes.Path¤«¤éÅÀ·²¡¤PolyLineSegment¤ò¼è¤ê½Ð¤¹¥á¥½¥Ã¥É¡Ê¥¨¥é¡¼½èÍý¤Ê¤·¡Ë

        private PolyLineSegment GetPolyLineSegment(Windows.UI.Xaml.Shapes.Path src)
        {
            var pathgeom = (PathGeometry)src.Data;
            var pathfig = pathgeom.Figures[0];
            return (PolyLineSegment)pathfig.Segments[0];
        }

**¥á¥Ã¥»¡¼¥¸É½¼¨ [#f7e22d1a]
¥Æ¥ó¥×¥ì¡¼¥È¥×¥í¥°¥é¥à¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¥á¥Ã¥»¡¼¥¸É½¼¨ÍѤÎTextBlock¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡¥

°Ê²¼¤¬°ú¿ô¤Ë»ØÄꤵ¤ì¤¿Ê¸»úÎó¤òɽ¼¨¤¹¤ë¥á¥½¥Ã¥ÉÎã¤È¤Ê¤ë¡¥StatusBlockScroll.ChangeView¥á¥½¥Ã¥É¤Ï¥á¥Ã¥»¡¼¥¸¤òÄɲ䵤줿ʸ»úÎó°ÌÃ֤˹ç¤ï¤»¤ë¤¿¤á¡¤¥¹¥¯¥í¡¼¥ë¤òºÇ²¼Ãʤ˰ÜÆ°¤µ¤»¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡¥

1.MainPageXaml¤ÎScrollViewer¤Ë̾Á°¤òÉÕ¤±¤ë¡¥

 <ScrollViewer VerticalScrollMode="Auto"  VerticalScrollBarVisibility="Auto" MaxHeight="200" HorizontalAlignment="Stretch" Height="117" Margin="0,0,0,0" VerticalAlignment="Stretch">

¢­

 <ScrollViewer x:Name="StatusBlockScroll" VerticalScrollMode="Auto"  VerticalScrollBarVisibility="Auto" MaxHeight="200" HorizontalAlignment="Stretch" Height="117" Margin="0,0,0,0" VerticalAlignment="Stretch">

2.°Ê²¼¤Î¥á¥½¥Ã¥É¤òMainPage.xaml.cs¤ËÄɲÃ

        private void AddMessage(string str)
        {
            StatusBlock.Text += str + System.Environment.NewLine;
            StatusBlockScroll.ChangeView(0, StatusBlockScroll.ScrollableHeight, StatusBlockScroll.ZoomFactor, false);
        }

**Äó½Ð [#j27b467c]
°Ê²¼¤ËMainPage.xaml.cs¤ò5·î24Æü18»þ¤Þ¤Ç¤ËÄó½Ð¤»¤è¡¥
**²ÝÂêÄó½ÐÊýË¡ [#r54a0cd6]
¾·ÂÔ¤µ¤ì¤Æ¤¤¤ëBox¥¢¥Ã¥×¥í¡¼¥É¥Õ¥©¥ë¥À¡Ö¾ðÊó¥á¥Ç¥£¥¢´ðÁÃ¥¼¥ß¡Ê¿¹Ã«¡Ë¡×¤Î¡ÖÂè2²ó¡×¤Ø¡¤´°À®¤µ¤»¤¿²ÝÂê¤Î¥½¥ê¥å¡¼¥·¥ç¥ó¥Õ¥©¥ë¥À¤òZIP°µ½Ì¤·¡¤¥Õ¥¡¥¤¥ë¤ò°Ê²¼¤Î̾Á°¤Ç¥¢¥Ã¥×¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡¥

 \\nas002.term.usmc.dendai.ac.jp
 ¨¦\¼ø¶ÈÍѥ¥¯¥¹¥Ú¡¼¥¹\Àé½»¥­¥ã¥ó¥Ñ¥¹\Á°´ü\̤Íè²Ê³ØÉô\­¢¾ðÊó¥á¥Ç¥£¥¢³Ø²Ê
  ¨¦\FI3¾ðÊó¥á¥Ç¥£¥¢´ðÁÃ¥¼¥ß(¿¹Ã«Í§¾¼)·î2
    ¨¦Âè2²ó\Äó½Ð
¥Õ¥¡¥¤¥ë̾¡§XXFIXXX_2nd.zip¡ÊÎ㡧18FI999_2nd.zip¡Ë

''Äó½ÐÄù¤áÀڤꡧ6·î23Æü¡Ê¶â¡Ë 23:59''

BOX¥¢¥Ã¥×¥í¡¼¥É¥Õ¥©¥ë¥À¤Î¾·Âԥ᡼¥ë¤¬Íè¤Æ¤¤¤Ê¤¤Êý¤Ï¿¹Ã«¤Þ¤Ç¥á¡¼¥ëÏ¢Íí¤¯¤À¤µ¤¤¡¥


¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS