TempFileMode财产

总结

值,指示临时文件是在磁盘上、内存中还是磁盘和内存的组合中。

语法
c#
VB
c++
公共静态LeadTempFileModeTempFileMode {得到;}
公共共享财产TempFileMode ()作为LeadTempFileMode得到
公共静态财产LeadTempFileMode^ TempFileModeLeadTempFileMode^ 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具有磁盘(临时)内存的对象。

c#
VB
使用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 * 1024RasterDefaults.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结束
需求
目标平台
Leadtools组装
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。