本文主要是介绍fo-dicom缺少DicomJpegLsLosslessCodec,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
VS2019,fo-dicom v4.0.8
using Dicom.Imaging.Codec;
...
DicomJpegLsLosslessCodec //CS0103 当前上下文中不存在名称“DicomJpegLsLosslessCodec”
但官方文档的确存在该类的说明DicomJpegLsLosslessCodec
尝试:安装包fo-dicom.Codecs,注意fo-dicom v4.0和v5.0的包不同。
对于fo-dicom v4.0,包名称为Efferent.Native,使用方法是在程序开始的地方加这一句
Dicom.Imaging.Codec.TranscoderManager.SetImplementation(new Efferent.Native.Codec.NativeTranscoderManager());
Efferent.Native v4.1.0,git上说只测试了fo-dicom v4.0.5,实际上最低要求fo-dicom v4.0.8,实测在TranscoderManager.SetImplementation
处报错
对于fo-dicom v5.0,包名称为fo-dicom.Codecs,使用方法是在程序开始的地方加这一句
new DicomSetupBuilder().RegisterServices(s => s.AddFellowOakDicom().AddTranscoderManager<FellowOakDicom.Imaging.NativeCodec.NativeTranscoderManager>()).SkipValidation().Build();
fo-dicom v5.1.1 + fo-dicom.Codecs v5.10.8 + fo-dicom.Imaging.Desktop v5.1.0
但是运行至需要编解码的地方,就会报错System.DllNotFoundException[Dicom.Native.dll],dll已经在运行目录了,说明是dll调不动,可能存在平台兼容性
结论:无解,只能通过其它办法压缩
这篇关于fo-dicom缺少DicomJpegLsLosslessCodec的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!