public long MaximumGlobalRasterImageMemory { get; set; }
MaximumGlobalRasterImageMemory # get and set (RasterMemoryThreshold)
A long value that specifies the maximum size allowed for all RasterImage object allocations. The default value depends on the operating system.
On x86 systems, this property defaults to 1.5 GB.
On x64 systems, this property defaults to either 1.5 GB or 75 percent of the system's total physical RAM, whichever is larger.
You can use this property to control how much memory your application is allowed to use for all RasterImage objects.
When allocating a new RasterImage object, if the new allocation causes the total memory used by all allocated RasterImage objects to exceed the value of MaximumGlobalRasterImageMemory, then the allocation will throw an exception.
using Leadtools;
using Leadtools.Codecs;
public void RasterDefaultsExample()
{
// Set the limit for RasterImage object allocations
RasterMemoryThreshold threshold = RasterDefaults.MemoryThreshold;
threshold.MaximumGlobalRasterImageMemory = 20 * 1000 * 1024;
RasterDefaults.MemoryThreshold = threshold;
ShowValues();
// Create a raster image with current DPI
RasterImage image1 = new RasterImage(
RasterMemoryFlags.Conventional,
100,
100,
24,
RasterByteOrder.Bgr,
RasterViewPerspective.TopLeft,
null,
IntPtr.Zero,
0);
Console.WriteLine("Resolution of created image is {0} by {1} DPI", image1.XResolution, image1.YResolution);
// Change the resolution
int xOldResolution = RasterDefaults.XResolution;
int yOldResolution = RasterDefaults.YResolution;
int xNewResolution = 196;
int yNewResolution = 196;
RasterDefaults.XResolution = xNewResolution;
RasterDefaults.YResolution = yNewResolution;
ShowValues();
// Create another raster image
// Create a raster image with current DPI
RasterImage image2 = new RasterImage(
RasterMemoryFlags.Conventional,
100,
100,
24,
RasterByteOrder.Bgr,
RasterViewPerspective.TopLeft,
null,
IntPtr.Zero,
0);
Console.WriteLine("Resolution of created image is {0} by {1} DPI", image2.XResolution, image2.YResolution);
Debug.Assert(image2.XResolution == xNewResolution);
Debug.Assert(image2.YResolution == yNewResolution);
// Reset old values
RasterDefaults.XResolution = xOldResolution;
RasterDefaults.YResolution = yOldResolution;
image1.Dispose();
image2.Dispose();
}
void ShowValues()
{
Console.WriteLine("Current defaults:");
Console.WriteLine("MaximumThreadCount: {0}", RasterDefaults.MaximumThreadCount);
Console.WriteLine("XResolution: {0}", RasterDefaults.XResolution);
Console.WriteLine("YResolution: {0}", RasterDefaults.YResolution);
Console.WriteLine("DitheringMethod: {0}", RasterDefaults.DitheringMethod);
Console.WriteLine("MemoryFlags: {0}", RasterDefaults.MemoryFlags);
RasterMemoryThreshold threshold = RasterDefaults.MemoryThreshold;
Console.WriteLine("MemoryThreshold.TiledThreshold: {0}", threshold.TiledThreshold);
Console.WriteLine("MemoryThreshold.MaximumConventionalSize: {0}", threshold.MaximumConventionalSize);
Console.WriteLine("MemoryThreshold.TileSize: {0}", threshold.TileSize);
Console.WriteLine("MemoryThreshold.ConventionalTiles: {0}", threshold.ConventionalTiles);
Console.WriteLine("MemoryThreshold.ConventionalBuffers: {0}", threshold.ConventionalBuffers);
Console.WriteLine("MemoryThreshold.MaximumGlobalRasterImageMemory: {0}", threshold.MaximumGlobalRasterImageMemory);
Console.WriteLine("TemporaryDirectory: {0}", RasterDefaults.TemporaryDirectory);
}
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