LEADTOOLS WinRT(Leadtools.Controls)
LEAD Technologies, Inc

UseDpi Property

Example 

Gets or sets a value that indicates whether the control must account for the physical resolution of the image when calculating the display properties. WinRT support
Syntax
public bool UseDpi {get; set;}
 get_UseDpi();
set_UseDpi(value);

Property Value

true to account for the physical resolution of the image when calculating the display properties; otherwise, false.
Remarks

Changing the value of this property will fire the PropertyChanged and TransformChanged events.

The physical resolution of an image is measured in dots per inch (DPI). The values of ImageDpiX, ImageDpiY, ScreenDpiX and ScreenDpiY are used when calculating how to display the image if the value of UseDpi is set to true.

For example, a typical A4 document image is 8.5 by 11 inches. Which could be 2550 by 3300 pixels if the image has a resolution of 300 by 300. Most document viewer applications will try to display this image in its original size. i.e. the image will take 8.5 inches of screen horizontal space and 11 inches of screen vertical space. If you do not use the UseDpi property for this control, you are required to do the calculations yourself as follows:

    
            viewer.UseDpi = false;
            viewer.ScaleFactor = screenResolution / imageResolution;
            

  

In the case of the image above, this will be 96 (typical screen resolution) divided by 300. Or, you can set the UseDpi value to true and the control will use the above formula internally keeping the ScaleFactor set to 1 as follows:

    
            viewer.UseDpi = true;
            viewer.ScaleFactor = 1;
            

  

This code will produce the same results as the first code snippet.

The viewer will not automatically set the values of ImageDpiX, ImageDpiY, ScreenDpiX and ScreenDpiY to the current image and screen resolution, instead, these values will all be set to the default value of 96. You must set these values to the correct values if the UseDpi is to be used correctly.

When UseDpi is set to false, the values of ImageSize and RealImageSize will be the same (the size of the image in pixels). When UseDpi is set to true, the values of ImageSize and RealImageSize might not be the same as the image or screen DPI. ImageSize will have the original size in pixels while RealImageSize will contain the size multiplied by a ratio between screen and image sizes.

Example
Copy CodeCopy Code  
[TestMethod]
public void UseDpiExample()
{
   // Check if UseDpi is set to true
   if (!_viewer.UseDpi)
   {
      // No, set it to true
      // Also set the image DPI to 300 and the screen DPI to 96
      _viewer.BeginUpdate();
      _viewer.ImageDpiX = 300;
      _viewer.ImageDpiY = 300;
      _viewer.ScreenDpiX = 96;
      _viewer.ScreenDpiY = 96;
      _viewer.UseDpi = true;
      _viewer.EndUpdate();
   }
   else
   {
      // Yes, set it back to false
      _viewer.UseDpi = false;
   }
   // Show the image and real image sizes
   Size imageSize = _viewer.ImageSize;
   Size realImageSize = _viewer.RealImageSize;

   string content = "UseDPI: " + _viewer.UseDpi;
   content += " Image size: " + imageSize.Width + ", " + imageSize.Height;
   content += " Real image size: " + realImageSize.Width + ", " + realImageSize.Height;
   _infoLabel.Text = content;
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

ImageViewer Class
ImageViewer Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.