情報メディア基礎ゼミ/2019/第2回
をテンプレートにして作成
開始行:
**ストローク [#v260e47d]
課題:ストロークの描画を実装する.
#ref(./drawstroke.gif,50%);
**線の構成要素 [#o1dad5d8]
UWPではGUIを構成する部品の子として,Shapeクラスを追加する...
線は,Shapeクラスを継承しているLineクラス,もしくはPathク...
Pathクラスでは,線の色や太さを設定し,Dataメンバに線の形...
PathGeometryクラスは,円弧(Arcs),曲線(Curves),直線...
PathFigureは複数のSegmentで構成された図形を表すクラスで,...
今回,ストロークは複数点を単純に結んだ線となるため,PolyL...
PolyLineSegmentのPointsメンバに座標を記した複数個のPoint...
#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 ...
myPathSegmentCollection.Add(myLineSegment);
myPathFigure.Segments = myPathSegmentCollection;
PathFigureCollection myPathFigureCollection = ...
myPathFigureCollection.Add(myPathFigure);
PathGeometry myPathGeometry = new PathGeometry...
myPathGeometry.Figures = myPathFigureCollection;
Path myPath = new Path();
myPath.Stroke = new SolidColorBrush(Color.From...
myPath.StrokeThickness = 1;
myPath.Data = myPathGeometry;
MainCanvas.Children.Add(myPath);
-図形の描画 - Windows UWP applications~
https://docs.microsoft.com/ja-jp/windows/uwp/design/contr...
**手順 [#j09d98fb]
例外的な処理を考慮しなければ,
描画中のPathクラスを保持するメンバ変数(仮にdrawingStroke...
+PointerPressedイベント:drawingStroke(Pathクラス)に必...
+PointerMovedイベント:drawingStrokeがnullでなければ,ス...
+PointerReleasedイベント:drawingStrokeがnullでなければ,...
実際にはストローク描画途中(マウスボタンが押されたまま)...
***PathクラスからPolyLineSegmentへアクセスする [#b071af12]
Windows.UI.Xaml.Shapes.Pathから点群,PolyLineSegmentを取...
private PolyLineSegment GetPolyLineSegment(Window...
{
var pathgeom = (PathGeometry)src.Data;
var pathfig = pathgeom.Figures[0];
return (PolyLineSegment)pathfig.Segments[0];
}
**メッセージ表示 [#f7e22d1a]
テンプレートプログラムではデフォルトでメッセージ表示用のT...
以下が引数に指定された文字列を表示するメソッド例となる.S...
1.MainPageXamlのScrollViewerに名前を付ける.
<ScrollViewer VerticalScrollMode="Auto" VerticalScrollB...
↓
<ScrollViewer x:Name="StatusBlockScroll" VerticalScrollM...
2.以下のメソッドをMainPage.xaml.csに追加
private void AddMessage(string str)
{
StatusBlock.Text += str + System.Environment....
StatusBlockScroll.ChangeView(0, StatusBlockSc...
}
**課題提出方法 [#r54a0cd6]
招待されているBoxアップロードフォルダ「情報メディア基礎ゼ...
ファイル名:XXFIXXX_2nd.zip(例:18FI999_2nd.zip)
''提出締め切り:6月23日(金) 23:59''
BOXアップロードフォルダの招待メールが来ていない方は森谷ま...
終了行:
**ストローク [#v260e47d]
課題:ストロークの描画を実装する.
#ref(./drawstroke.gif,50%);
**線の構成要素 [#o1dad5d8]
UWPではGUIを構成する部品の子として,Shapeクラスを追加する...
線は,Shapeクラスを継承しているLineクラス,もしくはPathク...
Pathクラスでは,線の色や太さを設定し,Dataメンバに線の形...
PathGeometryクラスは,円弧(Arcs),曲線(Curves),直線...
PathFigureは複数のSegmentで構成された図形を表すクラスで,...
今回,ストロークは複数点を単純に結んだ線となるため,PolyL...
PolyLineSegmentのPointsメンバに座標を記した複数個のPoint...
#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 ...
myPathSegmentCollection.Add(myLineSegment);
myPathFigure.Segments = myPathSegmentCollection;
PathFigureCollection myPathFigureCollection = ...
myPathFigureCollection.Add(myPathFigure);
PathGeometry myPathGeometry = new PathGeometry...
myPathGeometry.Figures = myPathFigureCollection;
Path myPath = new Path();
myPath.Stroke = new SolidColorBrush(Color.From...
myPath.StrokeThickness = 1;
myPath.Data = myPathGeometry;
MainCanvas.Children.Add(myPath);
-図形の描画 - Windows UWP applications~
https://docs.microsoft.com/ja-jp/windows/uwp/design/contr...
**手順 [#j09d98fb]
例外的な処理を考慮しなければ,
描画中のPathクラスを保持するメンバ変数(仮にdrawingStroke...
+PointerPressedイベント:drawingStroke(Pathクラス)に必...
+PointerMovedイベント:drawingStrokeがnullでなければ,ス...
+PointerReleasedイベント:drawingStrokeがnullでなければ,...
実際にはストローク描画途中(マウスボタンが押されたまま)...
***PathクラスからPolyLineSegmentへアクセスする [#b071af12]
Windows.UI.Xaml.Shapes.Pathから点群,PolyLineSegmentを取...
private PolyLineSegment GetPolyLineSegment(Window...
{
var pathgeom = (PathGeometry)src.Data;
var pathfig = pathgeom.Figures[0];
return (PolyLineSegment)pathfig.Segments[0];
}
**メッセージ表示 [#f7e22d1a]
テンプレートプログラムではデフォルトでメッセージ表示用のT...
以下が引数に指定された文字列を表示するメソッド例となる.S...
1.MainPageXamlのScrollViewerに名前を付ける.
<ScrollViewer VerticalScrollMode="Auto" VerticalScrollB...
↓
<ScrollViewer x:Name="StatusBlockScroll" VerticalScrollM...
2.以下のメソッドをMainPage.xaml.csに追加
private void AddMessage(string str)
{
StatusBlock.Text += str + System.Environment....
StatusBlockScroll.ChangeView(0, StatusBlockSc...
}
**課題提出方法 [#r54a0cd6]
招待されているBoxアップロードフォルダ「情報メディア基礎ゼ...
ファイル名:XXFIXXX_2nd.zip(例:18FI999_2nd.zip)
''提出締め切り:6月23日(金) 23:59''
BOXアップロードフォルダの招待メールが来ていない方は森谷ま...
ページ名: