ClearCanvas を使用して C# で dicom イメージを開くことを扱う C# でこのプロジェクトに取り組んでいますが、修正できないエラーが再発しています。私のコードは次のとおりです
enter
private void pictureBox1_Click(object sender, EventArgs e)
{
string filename = @"C:\Users\Don jar\Pictures\Xray pics\fluro.dcm";
DicomFile dicomFile = new DicomFile(filename);
dicomFile.Load(DicomReadOptions.Default);
foreach (DicomAttribute attribute in dicomFile.DataSet)
{
Console.WriteLine("Tag: {0}, Value: {1}", attribute.Tag.Name, attribute.ToString());
}
int bitsPerPixel = dicomFile.DataSet.GetAttribute(DicomTags.BitsStored).GetInt32(0, 0);
int width = dicomFile.DataSet.GetAttribute(DicomTags.Columns).GetInt32(0, 0);
int height = dicomFile.DataSet.GetAttribute(DicomTags.Rows).GetInt32(0, 0);
int stride = width * 2;
byte[] bitmapBuffer = (byte[])dicomFile.DataSet.GetAttribute(DicomTags.PixelData).Values;
BitmapSource bitmapSource = BitmapImage.Create(width, height, 96, 96, System.Windows.Media.PixelFormats.Gray16, null, bitmapBuffer, stride);
image1.Source = bitmapSource;
}code here
最後の行でエラーが発生しました
image1.Source = bitmapSource;
エラーはそれを述べています
エラー 1 名前 'image1' は現在のコンテキストに存在しません。
ただし、いくつかの調査を行った後、Dicom 画像を表示するページの XAML で定義された画像コントロールを作成する必要があることを読みました。したがって、この形式にする必要があります
enter <Window x:Class="WpfImageTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Image Name="image1" />
</Grid>code
</Window>
コードビハインド付き
enter public MainWindow()
{
InitializeComponent();
// Create source
BitmapImage myBitmapImage = new BitmapImage();
// BitmapImage.UriSource must be in a BeginInit/EndInit block
myBitmapImage.BeginInit();
myBitmapImage.UriSource = new Uri(@"E:\Pictures\avatar.jpg");
myBitmapImage.DecodePixelWidth = 200;
myBitmapImage.EndInit();
//set image source
image1.Source = myBitmapImage;
}code here
私の質問は、これを自分のプロジェクトにどのように組み込むかです。XAML を参照として追加しましたが、さらに先に進む方法がわかりません。このコードを cs ファイルに組み込むか、完全な cs ファイルを作成しますか? どんな情報にも感謝します。ありがとうございます