dattaprasaddhuri Ответов: 0

Ошибка при сжатии файла dicom?


Я получаю следующую ошибку при сжатии файла dcm в следующей строке.

Самого imagereader читатель = новый самого imagereader();

Ошибка:

Инициализатор типа для 'gdcm.gdcmPINVOKE' вызвал исключение.

Как устранить эту ошибку?

Я использую gdcm-sharp.dll для сжатия файла.

Что я уже пробовал:

Я использую gdcm-sharp.dll для сжатия файла.

Я размещаю свой код здесь:
частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
строка inputFileNamepath = @"G:\Test\Test_07_06_2016\Source\BU001015MN-166-CL-001V01_2005101414120923_1_1.dcm";
строка outputFileNamepath =@"G:\Test\Test_07_06_2016\Source1\GDCMBU001015MN-166-CL-001V01_2005101414120923_1_1.dcm";

//FileInfo file = new FileInfo(@"G:\Test\Test_07_06_2016\Source\BU001015MN-166-CL-001V01_2005101414120923_1_1.dcm");

string extension = Path. GetExtension(inputFileNamepath);
inputFileNamepath = Path. GetFileName(inputFileNamepath);

outputFileName = Path. GetFileName(outputFileNamepath);

пробовать
{
ImageReader reader = new ImageReader (); / / получение ошибки в этом файле
читатель.SetFileName(inputFileName);

если (! reader. Read())
{
Ящик для сообщений.Show ("не удается прочитать файл: -" + inputFileName);
вернуть;
}

gdcm.Файл file = reader.Метод getfile();

gdcm.Файл набора данных ДС =.GetDataSet();
gdcm.Изображение изображение = читатель.Образец getimage();

ImageChangeTransferSyntax change = новый ImageChangeTransferSyntax();
Transfersyntax targets = новый TransferSyntax(TransferSyntax.TSType.JPEGBaselineProcess1);
менять.SetTransferSyntax(цели);

JPEGCodec codec = новый JPEGCodec();

если (! кодек.CanCode(цели))
{
Ящик для сообщений.Шоу("WrongData");
вернуть;
}
кодек.SetLossless(ложь);
кодек.SetQuality (50);
менять.SetUserCodec (кодек);
менять.SetInput(изображение);

bool b = изменение.Изменить();

если (! b)
{
Ящик для сообщений.Show ("невозможно изменить синтаксис Ttansfer");
вернуть;
}

Писатель инструкция = новая инструкция();
писатель.SetImage ((gdcm.Изображение) изменение.То getoutput());
писатель.SetFile (reader.Метод getfile());
писатель.SetFileName (outputFileName);

если (!писатель.Писать())
{
Ящик для сообщений.Показать ("не мог написать");
}




}
поймать (исключение бывший)
{

}


}

BillWoodruff

Вам нужно опубликовать более подробную информацию о конкретном сообщении об ошибке, которое вы получаете.

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

https://sourceforge.net/projects/gdcm/support

0 Ответов