using Dicom.IO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SuperIC.Web
{
/// <summary>
/// 点击(此处)折叠或打开MyIOManager.SetImplementation(MyIOManager.Instance);
///将fo-dicom使用的默认字符集修改一下。注意,我的类中BaseEncodingImpl取得的是Encoding.Default,意思就是取系统默认编码。这样在中文系统下就是GB2312或者GB18030了,就可以友好的支持中文了,而不 用在每次调用DicomDataSet的AddOrUpdate方法时指定编码了。是不是很方便呢。
/// </summary>
class MYIOManage : IOManager
{
public static readonly IOManager Instance = new MYIOManage();
private MYIOManage()
{
}
protected override Encoding BaseEncodingImpl
{
get
{
return Encoding.Default;
}
}
protected override IPath PathImpl
{
get
{
return DesktopPath.Instance;
}
}
protected override IDirectoryReference CreateDirectoryReferenceImpl(string directoryName)
{
return new DesktopDirectoryReference(directoryName);
}
protected override IFileReference CreateFileReferenceImpl(string fileName)
{
return new DesktopFileReference(fileName);
}
}
}
为防止在生成的时候会导致姓名等信息会出现乱码的,需要建一个初始化类。这个最好是在程序启动的时候就初始化,因为放到生成图片里面才实例化,也会出现乱码的情况,使用方式如下
MYIOManage.SetImplementation(MYIOManage.Instance);