←Select platform

MaximumGlobalRasterImageMemory Property

Summary
Gets or sets a value that specifies the maximum size allowed for all RasterImage object allocations.
Syntax
C#
C++/CLI
Python
public long MaximumGlobalRasterImageMemory { get; set; } 
public: 
property int64 MaximumGlobalRasterImageMemory { 
   int64 get(); 
   void set (    int64 ); 
} 
MaximumGlobalRasterImageMemory # get and set (RasterMemoryThreshold) 

Property Value

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.

Remarks

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.

Example
C#
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); 
} 
Requirements

Target Platforms

Help Version 22.0.2023.5.16
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.