public struct GlobalMemoryThresholds
@interface GlobalMemoryThresholds : NSObject
public class GlobalMemoryThresholds
public: struct GlobalMemoryThresholds
class GlobalMemoryThresholds:
Use RasterDefaults.GetGlobalMemoryThresholds and RasterDefaults.SetGlobalMemoryThresholds to get or set the conventional memory restrictions used when allocating new RasterImage objects.
GlobalMemoryThresholds contains the following members:
Member | Description |
---|---|
MaximumConventionalMemory | Maximum size of continuous conventional memory in bytes to use when creating a RasterImage object. |
using Leadtools;
using Leadtools.Codecs;
public static void MaximumConventionalMemoryTest()
{
Console.WriteLine("maximumConventionalMemoryTest");
string imageFileName = @"C:\LEADTOOLS22\Resources\Images\Leadtools.pdf";
long size = 0;
using (var rasterCodecs = new RasterCodecs())
{
using (var rasterImage = rasterCodecs.Load(imageFileName, 1))
{
Console.WriteLine("loaded, size:{0} Conventional:{1} Disk:{2}",
rasterImage.DataSize, rasterImage.IsConventionalMemory, rasterImage.IsDiskMemory);
Debug.Assert(rasterImage.IsConventionalMemory);
Debug.Assert(!rasterImage.IsDiskMemory);
size = rasterImage.DataSize;
}
// Set maximum conventional size to half of the bitmap's and re-check. Should be disk
GlobalMemoryThresholds thresholds = RasterDefaults.GetGlobalMemoryThresholds();
Console.WriteLine("Original GlobalMemoryThresholds.MaximumConventionalMemory = {0}", thresholds.MaximumConventionalMemory);
thresholds.MaximumConventionalMemory = size / 2;
RasterDefaults.SetGlobalMemoryThresholds(thresholds);
thresholds = RasterDefaults.GetGlobalMemoryThresholds();
Console.WriteLine("New GlobalMemoryThresholds.MaximumConventionalMemory = {0}", thresholds.MaximumConventionalMemory);
using (var rasterImage = rasterCodecs.Load(imageFileName, 1))
{
Console.WriteLine("loaded, size:{0} Conventional:{1} Disk:{2}",
rasterImage.DataSize, rasterImage.IsConventionalMemory, rasterImage.IsDiskMemory);
Debug.Assert(!rasterImage.IsConventionalMemory);
Debug.Assert(rasterImage.IsDiskMemory);
}
// Now set to -1 and try to create a 20 by 20 at 32-BPP inch bitmap, should be disk
// Reset
RasterDefaults.SetGlobalMemoryThresholds(GlobalMemoryThresholds.Default);
thresholds = RasterDefaults.GetGlobalMemoryThresholds();
Console.WriteLine("Original GlobalMemoryThresholds.MaximumConventionalMemory = {0}", thresholds.MaximumConventionalMemory);
thresholds.MaximumConventionalMemory = -1;
RasterDefaults.SetGlobalMemoryThresholds(thresholds);
thresholds = RasterDefaults.GetGlobalMemoryThresholds();
Console.WriteLine("New GlobalMemoryThresholds.MaximumConventionalMemory = {0}", thresholds.MaximumConventionalMemory);
using (var rasterImage = new RasterImage(
RasterMemoryFlags.Conventional,
20 * 300,
20 * 300,
32,
RasterByteOrder.Bgr,
RasterViewPerspective.TopLeft,
null,
null,
0))
{
Console.WriteLine("created, size:{0} Conventional:{1} Disk:{2}",
rasterImage.DataSize, rasterImage.IsConventionalMemory, rasterImage.IsDiskMemory);
Debug.Assert(!rasterImage.IsConventionalMemory);
Debug.Assert(rasterImage.IsDiskMemory);
}
// finally create 8.5 by 11 at 300 DPI, should be conv
using (var rasterImage = new RasterImage(
RasterMemoryFlags.Conventional,
(int)(8.5 * 300),
11 * 300,
32,
RasterByteOrder.Bgr,
RasterViewPerspective.TopLeft,
null,
null,
0))
{
Console.WriteLine("created, size:{0} Conventional:{1} Disk:{2}",
rasterImage.DataSize, rasterImage.IsConventionalMemory, rasterImage.IsDiskMemory);
Debug.Assert(rasterImage.IsConventionalMemory);
Debug.Assert(!rasterImage.IsDiskMemory);
}
}
// Reset
RasterDefaults.SetGlobalMemoryThresholds(GlobalMemoryThresholds.Default);
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document