WPF

コンピュータ

【WPF】マウスクリックでキャンバスに三角形を描画するコード。

ベクター画像を動的に描画するサンプルコードとして、マウスクリックした3つの座標を元にpathで三角形を描画します。ソースコードファイル名:TriangleDrawSample.csproj<Project Sdk="Microsoft.NE...
コンピュータ

WriteableBitmap塗りつぶしベンチマーク(Safe / Parallel / Unsafe / Unsafe+Parallel)

WPFの画像オブジェクトのWriteableBitmapの塗りつぶしルーチンを自前で作成しました。UnsafeとParallel.Forの組み合わせで高速化するか確認してみたいと思います。ソースコードファイル名:WirteBitmapBen...
コンピュータ

WPFのコードビハインドでObservable.FromEventPatternを使いマウスイベントを処理するサンプルコード

コードビハインドで処理するイベントをストリームとして扱うサンプルプログラムです。マウス座標を取得しタイトルバーに表示するアプリケーションになります。ソースコードファイル名:RxMouseMove.csproj<Project Sdk="Mi...
スポンサーリンク
コンピュータ

WPFのRenderingイベントでFPSを表示するサンプルコード2「アニメーション」

CompositionTarget.Renderingを使いキャラクタが動くサンプルコードを作成しました。前回の記事ソースコードファイル名:WalkAnime.csproj<Project Sdk="Microsoft.NET.Sdk"> ...
コンピュータ

WPFのRenderingイベントでFPSを表示するサンプルコード

WPFのWinodwオブジェクトのRenderingイベント(CompositionTarget.Rendering)を使うと、描画のタイミングで処理が実行されます。ディスプレイの処理能力次第なのですが、一般的なのPCだと60FPSぐらいに...
コンピュータ

WPFでzipファイル内の画像を連続表示するビューアの雛形

画像ファイルをアーカイブしたzipファイルをドラッグアンドドロップし、リストボックス内でzipファイルの順番の変更・削除を行うことで表示順番を入れ替えが出来ます。複数のzipファイルを任意の順番で、画像ファイルを連続表示するプログラムになっ...
コンピュータ

WPFでOpenCVの画像フィルターを実行するGUIアプリの雛形

GUIアプリからOpenCVの画像加工系のフィルターを実行するGUIアプリのプロトタイプを作成してみました。対応フィルターは少ないですが、アプリとして使えそうなら後から追加する予定です。ソースコードファイル名:GFilterUITemp01...
コンピュータ

WPFパネル系コントロールによるレイアウトの概要

UIパーツの自動レイアウトはWPFの特徴の一つです。個人的にはWinFormsに対してWPFが優れている部分だと考えています。この自動レイアウトは以下で述べるパネル系コントロール上で配置することで実現されますが、どのコントロールを使えばよい...
コンピュータ

WPFのWindow.Close()でIDisposableリソースを解放する実装例

コードビハインドでウィンドウが閉じられたタイミングでDispose()が必要なプロパティを解放するサンプルコードusing System;using System.Windows;using System.Diagnostics;names...
コンピュータ

WPFのBitmapSourceからOpenCVSharpのMatへ変換する方法

BitmapSource→Matへの変換パッケージのインストールdotnet add package OpenCvSharp4dotnet add package OpenCvSharp4.runtime.windotnet add pac...
コンピュータ

WPFでImage上のマウス座標を取得するサンプルコード

マウスカーソルの座標を取得します。ソースコードファイル名:MouseOnImageXY.csproj<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>WinExe</...
コンピュータ

WPFとは?WinFormsとの違いや将来性について考える

WPFを学んでいくと、最終的には「WPFはビジネスアプリケーションを作るために特化したフレームワーク」という結論にたどり着きます。特化しているということは、裏を返せば汎用性が犠牲になっているということで、実際、自由度の面ではWinForms...
コンピュータ

WPFをWinFormsライクに使う:Grid+GridSplitterで左右ペインを作る

ウインドウ内を左右に2分割し、中央のツマミ(GridSplitter)を左右に操作することで領域を増減させます。ソースコードファイル名:gridSplitterSample.csproj<Project Sdk="Microsoft.NET...
コンピュータ

WPFをWinFormsライクに使う:Windowを作る

WPFでWindowを作る場合、まずwpfのプロジェクトを作り、せっかく生成されたソースファイルを、.csproj以外全て削除します。cd (mkdir "プロジェクト名")dotnet new wpf -f net8.0ls * -Fil...