Powershell WPF InkCanvas を使ったペイントアプリの自作サンプル

PowerShell

Silverlight/WPFで使える逆引きTips集――インクキャンバス機能 のサイトを参考に、Powershellで自作したペイントアプリのサンプル

参考サイトで実現している『文字認識』以外はすべて実装

ちょっと文字認識は面白そうだが面倒くさそう、次回チャレンジしよう。

サンプルコード解説等

 各種ボタン操作により、

  InkCanvasに絵を描いたり、描いた画像を保存したり、画像をコピーペースしたりできる。

  実装してみて面白かったのは、画像解析(ジェスチャを認識)

  それから勉強になったのは、Powerahellのイベント処理(例えば、InkCanvas.Gesture)

  Powershellでは、$this と $_が、呼び元の引数が引っ張り込めること。

具体的なイベントソース、イベントデータの取得方法の実装

VisualBasicやC#では「sender」と「e」によって、イベントソース、イベントデータの取得できるが、その「sender」と「e」に相当するのが、Powershellでは「$this」と「$_」になる。

イベントソースイベントデータ
VisualBasic/C#sendere
Powershell$this$_

今回は、参考サイトのコーディングを流用させて頂いた。(すごい、まったくしらなかったです!)

#マウスダウン時の処理
$InkCanvas1.Add_PreviewMouseDown.Invoke({
    
  ($sender, $e) = $this, $_
    #// マウスの右ボタンが押されたか?
    if ($e.RightButton -eq [System.Windows.Input.MouseButtonState]::Pressed)
    {

実行結果

参考URL

VisualBaiscとPowerShellのイベント処理の比較 – PowerShell Memo (hatenadiary.org)

Silverlight/WPFで使える逆引きTips集 ――インクキャンバス機能 (1/9):CodeZine(コードジン)

文書情報

記事タイトル
Powershell WPF InkCanvas を使ったペイントアプリの自作サンプル
作成日
更新日
Source URL
https://papanda925.com/?p=2265

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました