なんとなく

なんとなく書きます

WPF

WPFのTreeViewの要素を数え上げる。

WPFのTreeViewの要素を数え上げるのをぱっと見調べても見つからなかったので書く まあ正確にはTreeViewにバインドしたインスタンスの数をしっかり数え上げたんだけども 結構悩んだけど再帰に気づけばあっさり片付いた。 まずはバインドしている数え上げの対…

WriteableBitmapの一部を抜き出す方法

WPF

/// <summary> /// 元画像の一部を抜き出した画像の作成 /// </summary> /// <param name="bitmap">元画像</param> /// <param name="rectangle">抜き出す領域</param> /// <returns>抜き出した画像</returns> static public WriteableBitmap _TrimingImage(WriteableBitmap bitmap , System.Windows.Int32Rect rectangle) { WriteableBitmap miniImage = new…

WriteableBitmapに文字を書き込んで画面に表示する方法。

WPF

/// <summary> /// 素の画像に文字を加工して表示する /// </summary> /// <param name="bitmap">素の画像</param> /// <param name="image">Imageコントロール</param> /// <param name="Message">表示したい文字</param> public void MyDrawBitmap(WriteableBitmap bitmap , Image image,string Message="message:nothing") { DrawingGroup drawingGroup = …

画像とかが別のスレッドに所有権うんぬんで触れないときの対処。

WPF

BackgroundWorkerやThreadで画像を作って 表示しようとした時に別スレッドが所有権を持っているからでエラーが出るとき。表示しようとしている画像にFreezeメソッドを使えばいい。 例 WriteableBitmap writeableBitmap; //色々処理する。 //Freezeすると表示…

System.Windows.Controls.Imageの保存方法

WPF

元の画像に線や文字などの描画を追加して元の画像サイズで保存する方法。 もっと効率のいい方法があるかもしれないがわからん。SaveImage関数は下記で書いたやつ。 引数のみを変更したやつ WriteableBitmapからRenderTargetBitmapに http://d.hatena.ne.jp/s…

WriteableBitmapの保存方法その2

WPF

bitmapのヘッダー情報を自分で作り出して保存する方法。 自分の環境ではBmpBitmapEncoderを使う方法よりも早くできた。 かかる時間はだいたいの場合半分以下。8bitのグレースケール専用になっている。 構造体の初期化や画像のサイズはカラー時には変更する必…