問題タブ [fo-dicom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1171 参照

c# - FO-DICOM: C# Windows フォーム アプリケーションでレンダリングされたビットマップを使用してウィンドウのサイズを変更するとクラッシュする

私は最近、fo-dicom を将来のプロジェクトの可能な DICOM ライブラリとして評価し始めました。

DICOM ファイルのみを読み取り、それを に変換して にSystem.Drawing.Bitmap表示する基本的な C# Windows フォーム アプリケーションを作成しましたPictureBox

このコードは機能しますが、フォームのサイズを変更し始めると、後で通知するよりも早く例外が発生します。

System.ArgumentException: パラメーターが無効です。

System.Drawing.Image.get_RawFormat()
で System.Drawing.Graphics.DrawImage(イメージ イメージ、Int32 x、Int32 y、Int32 幅、Int32 高さ)
で System.Drawing.Graphics.DrawImage(イメージ イメージ、Rectangle rect)
でSystem.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe)
で System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
で System.Windows.Forms.Control.WmPaint(Message& m)
で System.Windows.Forms
System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message & m) の .Control.WndProc(Message& m)
System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
の System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd、Int32 msg、IntPtr wparam、IntPtr lparam)

例外は実際に発生しますMain()

try/catchしかし、効果的に何が起こるかを調査する機能を追加できませんでした。

NuGet 経由で fo-dicom 3.0.2 への参照を追加しました (プロジェクトのターゲット フレームワークは 4.6.1 です)。環境: Windows 10 Pro、VS 2017。

興味深いことに、上記のコードに示すようにビットマップを生成し、それを保存し、アプリケーションで (DICOM を参照せずに) それを読み取り、ピクチャ ボックスに配置すると、同様のことは何も起こりません。これは、問題はビットマップ自体にあると考えさせられますが、発見できませんでした。

サイズ変更時にクラッシュしない fo-dicom.1.0.37 で作成された古いテスト アプリケーションもあります。

理由が何であるか、この効果を取り除く方法、または/および私が間違っている可能性があるのは何なのか、非常に興味があります。

(テストアプリケーションは、 http://jmp.sh/UGOg8Aiからダウンロードできます)。

0 投票する
0 に答える
320 参照

c# - fo-dicom を使用して DICOM タグを更新すると、C# フォームのサイズが変更されます

C# 形式の fo-dicom に問題があります。
fo-dicom を使用して DICOM タグを更新すると、フォームのサイズが変更され、すべてが小さくなります。データセット
を使用すると問題が発生します。追加 ボタン付きの単純なフォームのみを使用して例を作成しました。これがすべてのコードです。

これがボタンをクリックする前のフォームで、これがボタンをクリックしたのフォームです。

この問題は、デバッグ/リリース モードで Visual Studio GUI からフォームを実行した場合にのみ発生しますが、exe を直接実行しても発生しません。

ここにコードをアップロードしました。

私の構成は次のとおりです。

  • ウィンドウズ10
  • .Net フレームワーク 4.7.1
  • Visual Studio 2017 の最終バージョン (15.6.5)
  • fo-dicom 3.0.2

助けてくれてありがとう、
ダビデ

0 投票する
0 に答える
640 参照

c# - fo-dicom 用に log4net アペンダーを設定するには?

どうしたの?

fo-dicom 要求/応答データをログに記録するための適切なファイル アペンダーを設定する方法がわかりません。log4net.configファイルで構成された標準のRollingFileAppenderによって処理されるすべてのデバッグレベルのデータをテキストファイルに記録したいのですが、 fo-dicom log4netコネクタ(Nugetパッケージから)を私のFileAppenderに接続する方法がわかりません。

私は何を達成したいですか?

以前に診断コンソールに出力されたすべてのデバッグ データを、log4net.config によって構成されたテキスト ファイルに記録します (ファイルの場所、メッセージ形式などの意味で)。

現在のコード:

マニュアルに記載されているように、簡単なコネクタのアクティブ化は次のとおりです。

log4net.config 内のアペンダー:

このようなコネクタの完全な動作構成の例が見つからないため、少し混乱しています。