WPF
イベントで処理していたのをBindingに変更してC#とXAMLの両方で書いてみたけど どっちがいいのかよくわからん 動作自体は前のときと同じ Sliderの変更で画像の表示倍率を変更、画面より大きくなったらスクロールバーを表示 配置 Slider 拡大率指定用 ScrollV…
ListBoxでのデータバインディングと見た目の変更とか 横表示は ListBox.ItemsPanel ItemsPanelTemplate StackPanel Orientation="Horizontal" リストに表示される要素の見た目の変更は ListBox.ItemTemplate DataTemplate StackPanel Border TextBlock /Stac…
画面上のどこでもマウスカーソル下の色を取得 クリックでもその色を取得 今回のアプリのダウンロード先 github.com 自身のウィンドウ内のカーソルの位置や色の取得ならWPFにも用意されているんだけど、自身のウィンドウ外、画面上のどこでもって場合にはWPF…
画像で使われているすべての色を表示するのは処理が重すぎたので、等間隔で色を取得 この画像で使われている100ピクセル分の色を3D散布図で表示してみた 使ったアプリと言語は Visual Studio 2017とPythonとmatplotlib Pythonは初めて使ったので初投稿です P…
任意の2色に減色するときディザリングパターンを使う 元画像のピクセルの色が 元のRGB=(50, 140, 200)で 減色用パレットから元の色に近い色を2色選んだら 色1RGB=(77, 159, 166) 色2RGB=(68, 72, 212) だったとき 2x2のディザリングパターンを使ってどうなれ…
大津の二値化を使った白黒画像できたかも 今回のアプリのダウンロード先 github.com 1年前に作った カラー画像を1bppの白黒2値化するアプリは 白黒の閾値は手動で設定か、画像全体の輝度平均で指定していたのを 自動で設定する、自動1と自動2を付け足した …
昨日の続き 目的は昨日と同じで画像処理を考えて、RGB順に並んだbyte型配列から、RGBそれぞれの配列を作成、それぞれの最小値、最大値、平均値(double型)を求める 結果 一番上が昨日、一番下が今回最速で 昨日より2倍くらい速くできた 今回のアプリのダウン…
WPF色一覧表示と並べ替え System.Windows.Media.Colorの中の色一覧を表示 並べ替えは 色の名前順(昇順ソート) H:色相(昇順ソート) S:彩度(昇順ソート) V:明度(降順ソート) YUVのY:輝度(降順ソート) 一覧マスをクリックで色の詳細表示と見本枠の背景色変…
サイズが1024x768画像をScrollViewerの中に置いたImageに表示して マウスドラッグ移動で画像の表示位置を変更 画像を動かしているように見えるけど 実際に動かしているのはスクロールバー 今回のアプリのダウンロード先 github.com デザイン画面 ScrollViewe…
同じ大きさの2つの画像を並べて拡大して見比べたい 右画像は左を16色に減色したもの 今回のアプリのダウンロード先 github.com デザイン画面 <feff></feff>
マウスドラッグ移動(右クリック)でベジェ曲線 できた! 4ヶ月前の2018/6/24のときには こうだったからだいぶ良くなった 夏が春くらいの暑さならもっと良かったんだけどねえ 線の端を丸める これは単にPathの設定を変えただけで 764行目からの3行でそれぞれ …
前回で方向線角度を求めることができたので 距離を与えてベジェ曲線を表示してみる 距離の決め方は前々回と同じ感じで A0:方向線距離(長さ)0は直線 A1:前後アンカー点間距離の0.3倍 C1:前後アンカー点距離平均の0.3倍 C2:前後アンカー点距離それぞれの0.…
VBやC#だと便利な三角関数が用意されているけど、角度じゃなくてラジアンが基本になる ラジアンは日本語だと弧度っていうらしい 角度とラジアン 角度の180度はラジアンだと3.14、パイだと1パイ(π) ラジアンを角度に変換する ラジアン/パイ*180 = 角度 アプリ…
今回のアプリのダウンロード先 github.com 指定した点を通る違和感のない滑らかなベジェ曲線を引きたい 今まで gogowaten.hatenablog.com マウスクリックでCanvasにベジェ曲線で曲線、PolyBezierSegment ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブロ…
前回まではクリックしたところを線を中継する頂点にして線を描いていたけど これをマウスの動いたとおりの線を描いてみたくなった エクセルの図形のフリーハンドみたいなの WPFには似たことができるInkCanvasっていう、パネルコントロールがあるんだけど、使…
今回のアプリのダウンロード先 github.com Polylineの折れ線からベジェ曲線 このPolylineを使って描いた折れ線から このベジェ曲線を作成 C#コード using System.Windows; using System.Windows.Media; namespace _20180623_折れ線をベジェ曲線に { public p…
今回のアプリのダウンロード先 github.com ベジェ曲線に矢印 クリックしたところをアンカーポイントにしてベジェ曲線の終端に矢印 昨日は直線だったのをベジェ曲線にしてみた デザイン画面 C#のコード using System; using System.Collections.Generic; usin…
今回のアプリのダウンロード先 github.com 矢印線の描画 直線部分になるPolyLineと矢印になるPolygon、2つを組み合わせて表現 クリックしたところを中継点にする直線の矢印線を描画 WPFには矢印がない 線を描画するコントロールのPolyLineやLineには線の開始…
4日前 gogowaten.hatenablog.com の続きで今度は曲線Pathの長さを測る GetFlattenedPathGeometryとGetPointAtFractionLengthを使って測る 今回のアプリのダウンロード先 github.com 半径50の円周で確認 円周は2*パイ*半径なので 2*3.14*50=314になればいい …
今回のアプリのダウンロード先 github.com 昨日の続きで直線Pathの長さ測定 GetPointAtFractionLengthを使ってPathを等分割できたので、2点間の距離を測るユークリッド距離を使って長さを求める 普通ならこんな面倒なことしなくても、元の直線の座標から計算…
PathGeometryクラスのGetPointAtFractionLengthを使って Pathを等分したところに印と角度を表示してみた 今回のアプリのダウンロード先 github.com GetPointAtFractionLength うーん、よくわからん…Fraction(分数) 第1引数のprogressに渡すのは0から1の数値…
GetFlattenedPathGeometryメソッドを使って曲線のPathGeometryから直線のPathGeometryを取得 GetFlattenedPathGeometry(tolerance, ToleranceType) Tolerance:公差、許容できる誤差をdouble型で指定 ToleranceType:Absolute絶対 or Relative相対のどちらか…
今回のアプリのダウンロード先 github.com ベジェ曲線のアンカーポイントと制御点と方向線を表示してみた アンカーポイントと制御点を結ぶ直線のことを方向線っていうみたい 青丸がアンカーポイントと制御点、細い赤線が方向線 どちらもPathコントロールを使…
ベジェ曲線で曲線 System.Windows.Media.PolyBezierSegment Path.Dataの PathGeometryの FigureのSegmentに PolyBezierSegmentを指定してベジェ曲線 ってのはおとといのベジェ曲線で直線と同じ方法で、制御点座標を調整するようにして曲線にする 今回のアプ…
System.Windows.Media.PolyBezierSegment PolyBezierSegmentを使って連続した直線を描画してみた 本当はベジェ曲線を描くのに使うんだけど直線も描けた 今回のアプリのダウンロード先 github.com 見た目的な結果は前々回や前回と全く同じ デザイン画面 前回…
今回のアプリのダウンロード先 github.com 連続した直線を描画するにはPolyLine System.Windows.Shapes.Polyline これはおとといの gogowaten.hatenablog.com と全く同じ結果だけど使うコントロールは System.Windows.Shapes.Path から System.Windows.Shape…
今回のアプリのダウンロード先 github.com System.Windows.Shapes.Line マウスクリックで直線(Line)を描画 3年前にWindowsFormとVBだったのをWPFとC#で試してみた クリックしたところを始点(X1,Y1)にして、カーソル位置を終点(X2,Y2)にしている デザイン画面…
今回のアプリのダウンロード先 github.com WPFだけどRotateTransformを使わずに画像の回転表示をしてみた 処理2 元のピクセル座標を回転行列で変換しただけ 処理3 処理2の位置調整版 処理4 回転後のピクセル座標を回転行列の逆行列で変換 処理5 処理4+ピク…
アプリダウンロード先 github.com WPFのBitmapSourceの画像処理速度向上するためにいろいろ試してみた 初めて使ったunsafeでポインタが一番効果があった 画像処理の内容は色の反転、RGBそれぞれの値を逆にするだけのもので 50だったら255-50=205にする 単純…
テストアプリダウンロード先 github.com 時間のかかりがちな画像処理のときに プログレスバーの更新 処理のキャンセル 動作の様子 できた! 最初に作る時には前回の gogowaten.hatenablog.com 処理中に進捗率表示とキャンセルボタンで中止はasync、await、Ta…