午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

#ソフトウェア

C#で3点ABCからできる∠ABCの角度を求める関数をGitHub Copilotに作ってもらった

結果 テストアプリで使って確認 テストアプリのコード 環境 MainWindow.xaml MainWindow.xaml.cs 感想 関連記事 3つの座標a,b,cから作る∠abcを求める関数をc#で書いて 結果 作ってくれた関数 /// <summary> /// 3点(a, b, c)から点bを頂点とする角度(∠abc)を度で</summary>…

WPF、Paddingが0(既定値)のTextBlockを画像として保存すると、左端が半透明になることがある

けど、Paddingを1以上にしたら、期待通りのきれいな画像で保存できた 現象 影響するのは背景色だけじゃない Paddingを1以上にするといい 試したこと テストアプリのコード 環境 MainWindow.xaml MainWindow.xaml.cs 感想 参照したところ 関連記事 現象 TextB…

WPF、昨日のは失敗だった、変形時にPoint変化で全体が移動してしまう

結果 テストアプリのコード 感想 関連記事 結果 結果 拡大時にPointを変化させると、図形全体が移動してしまう これは回転時でも同じ テストアプリのコード 2025WPF/20250408 at main · gogowaten/2025WPF github.com 感想 残念 できたと思ったけど全然でき…

WPF、矢印図形クラスに、回転拡縮に対応したBounds(位置とサイズ)のプロパティを追加した

2025/04/08追記 今回のは失敗 追記ここまで 結果 テストアプリのコード 環境 GeoShape.cs 使うときは MyShapeTransformedBounds取得 MainWindow.xaml MainWindow.xaml.cs 感想 関連記事 結果 ユーチューブ youtu.be GIFアニメーション 結果確認 赤の図形が元…

WPF、回転した子要素の中の回転した複数子要素がピッタリ収まるBoundsの取得

昨日の続き 複数個要素編 結果 テストアプリのコード 環境 MainWindow.xaml MainWindow.xaml.cs 感想 関連記事 結果 結果 黒枠がそれ 灰色枠は要素それぞれのピッタリBoundsで、これは昨日の方法で取得したもの これをRectクラスのUnionメソッドで合成すれば…

WPF、子要素と孫要素ともに回転時の、孫要素がピッタリ収まるBounds(Rect)の取得

結果 テストアプリのコード 環境 MainWindow.xaml MainWindow.xaml.cs 感想 関連記事 結果 結果 図形の最終的な回転角度はどれも40度になるので、Boundsのサイズも同じになっているけど、位置が違ってくる 比較、図形だけ回転 図形の親要素のCanvasだけ回転 …

WPF、画像を含んでいる状態をファイルに保存と読み込みテスト

画像BitmapSourceはシリアライズできない感じだったので、png形式の画像として保存 画像とシリアライズできるDataとの結びつけはGuidクラスを使って、両方に固有の名前をつけておいて、読み込み時に名前を使って復元 結果 テストアプリのコード 環境 感想 関…

WPF、矢印図形Thumbのシリアライズテスト

前回の矢印図形を追加した感じ、シリアライズもできた 結果 テストアプリのコード 環境 感想 関連記事 結果 ユーチューブ youtu.be GIFアニメーション 結果 前回使っていたリサイズは必要なさそうだったので外した 回転表示も概ね問題なし、ほんとは変更で即…

WPF、ここ2ヶ月間で行ってきたことのまとめ、矢印図形の移動と編集

ようやくここまでできた 移動できる矢印図形の位置とサイズ、Point追加と削除、直線とベジェ曲線の切り替え、回転 結果 ResizeHandleAdornerクラス AnchorHandleAdornerクラス GeoShapeクラス GeoShapeThumbクラス GeoShapeTThumbクラス 位置とサイズを図形…

WPF、要素をリサイズするときのハンドルThumbをAdornerで作ってみた.mp6

前回との違いはハンドルの表示位置 結果 ハンドルの表示位置 テストアプリのコード 環境 Generic.xaml CustomControl.cs ResizeHandleAdorner.cs MainWindow.xaml MainWindow.xaml.cs 感想 関連記事 結果 ユーチューブで youtu.be GIFアニメーションで確認 …

WPF、矢印図形のアンカーハンドルポイントの表示と操作、Pointの追加と削除テスト

結果 テストアプリのコード 感想 関連記事 結果 ユーチューブで youtu.be GIFアニメーションで テスト結果 確認 移動できる矢印図形の作成は、カスタムコントロールでThumbのTemplateを矢印図形にしたもの 矢印図形のアンカーハンドルポイントをAdornerとThu…

WPF、要素をリサイズするときのハンドルThumbをAdornerで作ってみた.mp5

もう何回目なのかわからん、5回? 結果 テストアプリのコード 環境 CustomControl1.sc Generic.xaml ResizeAdorner.sc MainWindow.xaml 感想 関連記事 結果 ユーチューブで youtu.be GIFアニメーション 結果 今までのと違うところは 対象要素がFrameworkElem…

WPF、要素をファイルに保存と復元テスト

結果 デザイン画面での要素の追加(配置)はできないようにした(XAMLとの連携の廃止) AnchorThumbの廃止 シリアライズ テストアプリのコード 環境 感想 関連記事 結果 ユーチューブ youtu.be GIFアニメーションは投稿に失敗するのでgithubのリンク 2025WPF/REA…

WPF、図形の回転後の頂点移動できた、ただし回転軸は左上

前回からの続き 図形の回転軸を中心にするのは諦めて、左上を軸にすることにした 結果 中心軸は諦めた テストアプリのコード 環境 感想 関連記事 結果 ユーチューブ youtu.be GIFアニメーション 結果 図形回転後の頂点移動ができた 頂点移動用のThumbはAdorn…

WPF、図形を中心で回転、PathGeometry+Canvas+Thumbのカスタムコントロール

今回 = 前回 + 前々回 WPF、中のTextBlock(子要素)を回転させたときに、自身(親要素)のサイズと位置を違和感なく変更できた - 午後わてんのブログ WPF、簡単に折れ線描画できて見た目通りのサイズと位置が取得できるクラスをShapeクラス継承で - 午後わてん…

WPF、簡単に折れ線描画できて見た目通りのサイズと位置が取得できるクラスをShapeクラス継承で

この前の発展型 gogowaten.hatenablog.com 結果 サイズと位置を表すBoundsプロパティを追加 LineJoin、LineCapに対応 LineCap MiterLimit テストアプリのコード 環境 Class1.cs MainWindow.xaml MainWindow.xaml.cs 感想 関連記事 結果 結果 四角形は確認の…

WPF、中のTextBlock(子要素)を回転させたときに、自身(親要素)のサイズと位置を違和感なく変更できた

結果 テストアプリのコード 環境 Generic.xaml CustomControl1.cs MainWindow.xaml MainWindow.xaml.cs 感想 NGシーン 関連記事 結果 ユーチューブ youtu.be GIFアニメーション Animation20250202_191059.gif 茶色背景のところが自身のサイズと位置、緑背景…

WPF、図形の回転、PathGeometryで描画した図形の中心は全頂点の平均座標もいいね

違和感ZERO 結果 エクセルの図形の回転は テストアプリのコード Class.cs MainWindow.xaml MainWindow.xaml.cs 参照したところ 感想 関連記事 結果 ユーチューブ youtu.be GIFアニメーション Animation20250131_120353_20fps.gif ピンクが全頂点の平均座標を…

WPF、図形の回転、PathGeometryで描画した図形の「中央」を中心に回転させるには

RotateTransformのCenterXとCenterYの調整が必要で、 RenderedGeometry.BoundsのWidthとHeightの半分の値をそれぞれに指定する 2025/01/30追記 正確には中央じゃなかったけど、エクセルの図形の回転と同じ結果だったので、もうこれでいいことにする エクセル…

WPF、折れ線図形を描画するクラスをControlを継承したカスタムコントロールで作ってみた、線の太さを考慮してサイズ計算

昨日のShape継承よりいい! 2025/02/05追記 けど、もっといいのできた gogowaten.hatenablog.com 追記ここまで 結果 テストアプリのコード 環境 CustomControl1.sc Generic.xaml 今回の不可解 ターゲット要素の管理 FrameworkElement または FrameworkConten…

WPF、折れ線図形を描画するクラスをShapeを継承したカスタムコントロールで作ってみた、線の太さを考慮してサイズ計算

昨日のをShapeクラス継承したカスタムコントロールで作ってみた 2025/02/05追記 けど、もっといいのできた gogowaten.hatenablog.com 追記ここまで 結果 テストアプリのコード CustomControl1.sc 線の描画を考慮した位置とサイズの測定 方法を変更した タイ…

WPF、折れ線図形を描画するクラスをFrameworkElementを継承して作ってみた、線の太さを考慮してサイズ計算

PathGeometryを描画、サイズ計算はGeometryクラスのGetWidenedPathGeometryメソッド 結果 Pathクラスと文字数とか比較 サイズが見た目通りになった テストアプリのコード 環境 EzLine.cs MainWindow.xaml MainWindow.xaml.cs 感想 関連記事 結果 ユーチュー…

WPF、PathGeometryで直線図形を描画したときの動作確認してみた、FillRule、IsFilled、IsClosed、IsStroked、IsSmoothJoin

結果 テストアプリのコード 環境 MainWindow.xaml MainWindow.xaml.cs 感想 関連記事 結果 ユーチューブ youtu.be GIFアニメーション テストアプリ 始点と終点を閉じるか閉じないかのIsClosedは、線の描画のIsStrokedや、塗りつぶしの有無IsFilledには関係な…

WPF、カスタムコントロールのThumbに表示するPolylineはGridよりCanvasに乗せると都合がいい

ただし、Polylineに回転など(Translate関連)の処理がされていないことが前提 結果 テストアプリのコード 環境 OffsetPolyline.cs Generic.xaml MainWindow.xaml MainWindow.xaml.cs 感想 関連記事 結果 GIFアニメーション テストアプリ ユーチューブ youtu.b…

WPF、PolylineのPointCollection型プロパティPointsとのBindingと連携方法をカスタムコントロールでいろいろ試した

結果 テストアプリのコード ExPolyline.sc Generic.xaml MainWindow.xaml 感想 関連記事 結果 ユーチューブ youtu.be 元ファイルのGIFアニメーションは、はてなブログにはアップロードできなかったので ギットハブ 2025WPF/README.md at main · gogowaten/20…

WPF、「8点ハンドル」でサイズ可変+マウスドラッグ移動可能なCanvasを「できるだけ簡易」にカスタムコントロールで作ってみた

前々回の8点ハンドル版 WPF、サイズ可変+マウスドラッグ移動可能なCanvasを「できるだけ簡易」にカスタムコントロールで作ってみた - 午後わてんのブログ gogowaten.hatenablog.com 結果 テストアプリのコード 環境 CustomControl1.sc Generic.xaml MainWin…

WPF、サイズ可変+マウスドラッグ移動可能なEllipseをカスタムコントロールで作ってみた

昨日の発展型、ControlTemplateのCanvasの中にEllipseとTextBlockを入れてみた 結果 テストアプリのコード テスト環境 CustomControl1.sc EllipseThumb EllipseTextThumb MainWindow.xaml MainWindow.xaml.cs 感想 関連記事 結果 GIFアニメーション 期待通り…

WPF、サイズ可変+マウスドラッグ移動可能なCanvasを「できるだけ簡易」にカスタムコントロールで作ってみた

多分これが一番早い(簡単)と思います 結果 テストアプリのコード CustomControl1.sc Generic.xaml MainWindow.xaml MainWindow.xaml.cs 感想 関連記事、新しい順 結果 GIFアニメーション ユーチューブ www.youtube.com なぜか勝手にショート動画にされた GIF…

WPFでテストアプリ、グループ化とその解除に伴うZIndexの変更

結果 新グループのZIndex グループ解除でZIndexの変更 テストアプリのコード置き場 感想 関連記事 結果 WPF、テストアプリ、グループ化と解除 - YouTube www.youtube.com テストアプリ 前回で複数選択できるようになったので、それを利用してグループ化とグ…

WPFでテストアプリ、複数選択と枠表示

結果 Item(Thumb)をクリックで複数選択 テストアプリのコード ExCanvas.cs Class1.cs CustomControl1.cs MainWindow.xaml MainWindow.xaml.cs 感想 関連記事 結果 Item(Thumb)をクリックで複数選択 枠線の色の意味 灰色:Selectable、選択可能だけど未選択状…