Я пытаюсь сделать простое приложение, которое читает файлы DICOM и показывает изображения в графическом окне в c#. Мне удается напечатать изображение в графическом окне, но я получаю ошибку, которая встраивается в изображения, и мне нужно ее устранить.
код работает нормально, но я установил водяной знак ошибки на изображениях dicom в картинке ,
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "DICOM Files(*.dcm)|*.dcm";
if (ofd.ShowDialog() == DialogResult.OK)
{
if (ofd.FileName.Length > 0)
{
var imagen = new DicomFile(ofd.FileName);
LocalSopDataSource DatosImagen = new LocalSopDataSource(ofd.FileName);
ImageSop imageSop = new ImageSop(DatosImagen);
IPresentationImage imagen_a_mostrar = PresentationImageFactory.Create(imageSop.Frames[1]);
int width = imageSop.Frames[1].Columns;
int height = imageSop.Frames[1].Rows;
Bitmap bmp = imagen_a_mostrar.DrawToBitmap(width, height);
BitmapSource output = Imaging.CreateBitmapSourceFromHBitmap(
bmp.GetHbitmap(),
IntPtr.Zero,
Int32Rect.Empty,
BitmapSizeOptions.FromWidthAndHeight(width, height));
PictureBox1.Image = bmp;
////////////////////////////////////////////////////
DicomFile m_dicomFile = new DicomFile(ofd.FileName);
imagen.Load(DicomReadOptions.Default | DicomReadOptions.StorePixelDataReferences);
LocalSopDataSource dataSource = new LocalSopDataSource(m_dicomFile);
GeneralStudyModuleIod srcStudy = new GeneralStudyModuleIod(dataSource);
PatientModuleIod srcPatient = new PatientModuleIod(dataSource);
label1.Text = srcPatient.PatientsName;
textBox1.Text = srcPatient.PatientsName;
}
ofd.Dispose();
}
}
}
Как я могу решить эту проблему? Вот пример ошибки:
к сожалению, у меня недостаточно точек повторения, чтобы добавить образец изображений ошибок: (