Ошибка при сжатии файла 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