值,指示临时文件是在磁盘上、内存中还是磁盘和内存的组合中。
公共静态LeadTempFileModeTempFileMode {得到;集;}
公共共享财产TempFileMode ()作为LeadTempFileMode
得到
集
公共:
静态财产LeadTempFileMode^ TempFileMode
{
LeadTempFileMode^ get ()
无效集(LeadTempFileMode^价值)
}
值,指示临时文件是在磁盘上、内存中还是磁盘和内存的组合中。默认值为TempFileMode。汽车
此值可用于获取/设置临时文件选项。这些选项是全局的(所有线程使用相同的设置)。
可能的值是:
价值 | 描述 |
---|---|
汽车 | 让LEADTOOLS选择默认模式(行为可能会从一个版本改变到另一个版本)。目前,它与DiskAndMemory . |
磁盘 | 只备份磁盘,不要使用内存备份临时文件。 |
DiskAndMemory | 小的临时文件使用内存,大的临时文件使用磁盘。 |
内存 | 禁用磁盘:所有临时文件都应该创建在内存中。如果某些功能需要磁盘上的临时文件,它们可能会失败。失败可能是内存不足错误或RasterException当代码设置为RasterExceptionCode。TempFileDiskDisabled. |
LEADTOOLS有时需要为某些操作使用临时文件。在以下情况下使用临时文件:
对临时文件的精细控制在版本20或更高版本中可用。在版本19或更早的版本中,所有临时文件都保存在磁盘上。
默认情况下,LEADTOOLS将小的临时文件保存在内存中,大的临时文件保存在磁盘上。但您也可以指定所有临时文件都应保存在磁盘上(LeadTempFileMode。磁盘)或所有临时文件应保存在内存中(LeadTempFileMode。内存).
使用仅内存临时文件模式的最常见原因是在云应用程序中。在某些云环境中,磁盘访问比内存访问更昂贵。在这种情况下,只有内存的临时文件模式可能是有意义的。
如果你设置了RasterDefaults。TempFileMode来LeadTempFileMode。磁盘,您将无法创建磁盘映像,而平铺映像中的平铺映像将位于内存中。在这种情况下,某些操作将因内存不足错误或错误而失败RasterException当代码设置为RasterExceptionCode。TempFileDiskDisabled.
如果启用了磁盘临时文件,则它们将存储在设置的文件夹中RasterDefaults。TemporaryDirectory.这条规则也有一些例外:LEADTOOLS使用一些第三方库,这些库需要在某个文件夹中存放文件。另外,一些第三方库在内部创建临时文件,并且不提供控制其位置的方法。
这个例子将使用RasterDefaults。TempFileMode
以显示对创作的影响RasterImage
具有磁盘(临时)内存的对象。
使用Leadtools;
使用Leadtools.Codecs;
公共静态无效RasterDefaults_TempFileMode_Example ()
{
//保存默认值
LeadTempFileMode defaultTempFileMode = RasterDefaults.TempFileMode;
globalmemorythreshold = RasterDefaults.GetGlobalMemoryThresholds();
//设置为auto
控制台。WriteLine (“RasterDefaults。TempFileModeis Auto");
RasterDefaults。TempFileMode= LeadTempFileMode.Auto;
//分配一个图像应该工作,正常常规
使用(var形象= RasterImage。创建(1024,1024,32,300,RasterColor.FromKnownColor(RasterKnownColor.White)))
{
控制台。WriteLine (“默认选项:”);
控制台。WriteLine (”的形象。IsConventionalMemory:“+ image.IsConventionalMemory);
控制台。WriteLine (”的形象。IsDiskMemory:“+ image.IsDiskMemory);
控制台。WriteLine (”的形象。IsTiled:“+ image.IsTiled);
Debug.Assert (image.IsConventionalMemory);
Debug.Assert (! image.IsDiskMemory);
Debug.Assert (! image.IsTiled);
}
控制台。WriteLine (" maximumconvention内存设置为低");
//将默认的最大内存阈值更改为较小的值(1MB)
globalMemoryThreshold = RasterDefaults.GetGlobalMemoryThresholds();
globalMemoryThreshold。最大内存= 1 * 1024 * 1024;
RasterDefaults.SetGlobalMemoryThresholds (globalMemoryThreshold);
//现在,图像的类型应该是disk或tiled
使用(var形象= RasterImage。创建(1024,1024,32,300,RasterColor.FromKnownColor(RasterKnownColor.White)))
{
控制台。WriteLine ("低全局内存阈值:");
控制台。WriteLine (”的形象。IsConventionalMemory:“+ image.IsConventionalMemory);
控制台。WriteLine (”的形象。IsDiskMemory:“+ image.IsDiskMemory);
控制台。WriteLine (”的形象。IsTiled:“+ image.IsTiled);
Debug.Assert (! image.IsConventionalMemory);
Debug.Assert (image.IsDiskMemory||image.IsTiled);
}
//禁用临时文件的磁盘
控制台。WriteLine (“RasterDefaults。TempFileModeis Memory");
RasterDefaults。TempFileMode= LeadTempFileMode.Memory;
//现在它应该回到常规
使用(var形象= RasterImage。创建(1024,1024,32,300,RasterColor.FromKnownColor(RasterKnownColor.White)))
{
控制台。WriteLine ("低全局内存阈值:");
控制台。WriteLine (”的形象。IsConventionalMemory:“+ image.IsConventionalMemory);
控制台。WriteLine (”的形象。IsDiskMemory:“+ image.IsDiskMemory);
控制台。WriteLine (”的形象。IsTiled:“+ image.IsTiled);
Debug.Assert (image.IsConventionalMemory);
Debug.Assert (! image.IsDiskMemory);
Debug.Assert (! image.IsTiled);
}
/ /重置
RasterDefaults.SetGlobalMemoryThresholds (defaultGlobalMemoryThreshold);
RasterDefaults。TempFileMode= defaultTempFileMode;
}
进口Leadtools
进口Leadtools。编解码器
进口Leadtools。ImageProcessing
进口Leadtools.ImageProcessing.Core
进口Leadtools.ImageProcessing.Color
进口Leadtools。控制
进口Leadtools。Dicom
进口Leadtools。画
进口Leadtools.Svg
公共共享子RasterDefaults_TempFileMode_Example ()
’保存默认值
昏暗的defaultTempFileMode作为LeadTempFileMode = RasterDefaults。TempFileMode
昏暗的defaultGlobalMemoryThreshold作为GlobalMemoryThresholds = RasterDefaults.GetGlobalMemoryThresholds ()
设置为自动
控制台。WriteLine (“RasterDefaults。TempFileModeis Auto")
RasterDefaults。TempFileMode= LeadTempFileMode.汽车
“分配一张图片应该没问题,这是常规做法
使用图像作为RasterImage = RasterImage。创建(1024,1024,32,300,RasterColor.FromKnownColor(RasterKnownColor.White))
控制台。WriteLine (“默认选项:”)
控制台。WriteLine (”的形象。IsConventionalMemory:“+ image.IsConventionalMemory.ToString ())
控制台。WriteLine (”的形象。IsDiskMemory:“+ image.IsDiskMemory.ToString ())
控制台。WriteLine (”的形象。IsTiled:“+ image.IsTiled.ToString ())
Debug.Assert (image.IsConventionalMemory)
调试。作为sert(不image.IsDiskMemory)
调试。作为sert(不image.IsTiled)
结束使用
控制台。WriteLine (" maximumconvention内存设置为低")
'将默认的最大内存阈值更改为较小的值(1MB)
昏暗的globalMemoryThreshold作为GlobalMemoryThresholds = RasterDefaults.GetGlobalMemoryThresholds ()
globalMemoryThreshold。maximumconvention = 1 * 1024 * 1024
RasterDefaults.SetGlobalMemoryThresholds (globalMemoryThreshold)
现在,图像的类型应该是磁盘或平铺
使用图像作为RasterImage = RasterImage。创建(1024,1024,32,300,RasterColor.FromKnownColor(RasterKnownColor.White))
控制台。WriteLine ("低全局内存阈值:")
控制台。WriteLine (”的形象。IsConventionalMemory:“+ image.IsConventionalMemory.ToString ())
控制台。WriteLine (”的形象。IsDiskMemory:“+ image.IsDiskMemory.ToString ())
控制台。WriteLine (”的形象。IsTiled:“+ image.IsTiled.ToString ())
调试。作为sert(不image.IsConventionalMemory)
Debug.Assert (image.IsDiskMemoryOrElseimage.IsTiled)
结束使用
'禁用临时文件的磁盘
控制台。WriteLine (“RasterDefaults。TempFileModeis Memory")
RasterDefaults。TempFileMode= LeadTempFileMode.Memory
现在应该回归常规了
使用图像作为RasterImage = RasterImage。创建(1024,1024,32,300,RasterColor.FromKnownColor(RasterKnownColor.White))
控制台。WriteLine ("低全局内存阈值:")
控制台。WriteLine (”的形象。IsConventionalMemory:“+ image.IsConventionalMemory.ToString ())
控制台。WriteLine (”的形象。IsDiskMemory:“+ image.IsDiskMemory.ToString ())
控制台。WriteLine (”的形象。IsTiled:“+ image.IsTiled.ToString ())
Debug.Assert (image.IsConventionalMemory)
调试。作为sert(不image.IsDiskMemory)
调试。作为sert(不image.IsTiled)
结束使用
“重置
RasterDefaults.SetGlobalMemoryThresholds (defaultGlobalMemoryThreshold)
RasterDefaults。TempFileMode= defaultTempFileMode
结束子
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送到支持!应该有人联系你!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格开始新的聊天。
所有代理目前都离线。
聊天时间:
周一-周五
上午8:30 -下午6点
如需联系我们,请填写此表格,我们将通过电子邮件与您联系。