←Select platform

GlobalMemoryThresholds Structure

Summary
Holds conventional memory restrictions used when allocating new RasterImage objects.
Syntax
C#
VB
Objective-C
C++
Java
public struct GlobalMemoryThresholds 
Public Structure GlobalMemoryThresholds 
@interface GlobalMemoryThresholds : NSObject 
public class GlobalMemoryThresholds 
public: struct GlobalMemoryThresholds 
Remarks

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.
Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
 
 
public static void MaximumConventionalMemoryTest() 
{ 
	Console.WriteLine("maximumConventionalMemoryTest"); 
	string imageFileName = @"C:\LEADTOOLS21\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); 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
 
Public Shared Sub MaximumConventionalMemoryTest() 
   Console.WriteLine("maximumConventionalMemoryTest") 
   Dim imageFileName As String = "C:\LEADTOOLS21\Resources\Images\Leadtools.pdf" 
 
   Dim size As Long = 0 
 
   Using rasterCodecs As New RasterCodecs() 
      Using rasterImage As 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(Not rasterImage.IsDiskMemory) 
 
         size = rasterImage.DataSize 
      End Using 
 
      ' Set maximum conventional size to half of the bitmap's and re-check. Should be disk 
      Dim thresholds As GlobalMemoryThresholds = RasterDefaults.GetGlobalMemoryThresholds() 
      Console.WriteLine("Original GlobalMemoryThresholds.MaximumConventionalMemory = {0}", thresholds.MaximumConventionalMemory) 
      thresholds.MaximumConventionalMemory = CType(size / 2, Long) 
      RasterDefaults.SetGlobalMemoryThresholds(thresholds) 
      thresholds = RasterDefaults.GetGlobalMemoryThresholds() 
      Console.WriteLine("New      GlobalMemoryThresholds.MaximumConventionalMemory = {0}", thresholds.MaximumConventionalMemory) 
 
      Using rasterImage As RasterImage = rasterCodecs.Load(imageFileName, 1) 
         Console.WriteLine("loaded, size:{0} Conventional:{1} Disk:{2}", 
            rasterImage.DataSize, rasterImage.IsConventionalMemory, rasterImage.IsDiskMemory) 
         Debug.Assert(Not rasterImage.IsConventionalMemory) 
         Debug.Assert(rasterImage.IsDiskMemory) 
 
      End Using 
 
      ' 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 rasterImage As New RasterImage( 
         RasterMemoryFlags.Conventional, 
         20 * 300, 
         20 * 300, 
         32, 
         RasterByteOrder.Bgr, 
         RasterViewPerspective.TopLeft, 
         Nothing, 
         Nothing, 
         0) 
         Console.WriteLine("created, size:{0} Conventional:{1} Disk:{2}", 
            rasterImage.DataSize, rasterImage.IsConventionalMemory, rasterImage.IsDiskMemory) 
         Debug.Assert(Not rasterImage.IsConventionalMemory) 
         Debug.Assert(rasterImage.IsDiskMemory) 
      End Using 
 
      ' finally create 8.5 by 11 at 300 DPI, should be conv 
      Using rasterImage As New RasterImage( 
         RasterMemoryFlags.Conventional, 
         CInt(8.5 * 300), 
         11 * 300, 
         32, 
         RasterByteOrder.Bgr, 
         RasterViewPerspective.TopLeft, 
         Nothing, 
         Nothing, 
         0) 
         Console.WriteLine("created, size:{0} Conventional:{1} Disk:{2}", 
               rasterImage.DataSize, rasterImage.IsConventionalMemory, rasterImage.IsDiskMemory) 
         Debug.Assert(rasterImage.IsConventionalMemory) 
         Debug.Assert(Not rasterImage.IsDiskMemory) 
 
      End Using 
   End Using 
 
   ' Reset 
   RasterDefaults.SetGlobalMemoryThresholds(GlobalMemoryThresholds.Default) 
End Sub 
Requirements
Target Platforms
Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

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