c# - clearcanvas в настройках свойства Filter Layout Settings Xml не найдена ошибка на изображениях - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь сделать простое приложение, которое читает файлы 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();
        }
    }


}

Как я могу решить эту проблему? Вот пример ошибки:

к сожалению, у меня недостаточно точек повторения, чтобы добавить образец изображений ошибок: (

...