←Select platform

IntelligentUpScaleCommand Class

Automatically increases image size while preserving important features. It can also preserve certain objects chosen by the user without affecting the natural look of the image.
public class IntelligentUpScaleCommand : RasterCommand 
Public Class IntelligentUpScaleCommand  
   Inherits RasterCommand 
public ref class IntelligentUpScaleCommand : public RasterCommand   
  • Upscaling using a mask is performed only on the width dimension. To upscale using a mask on the height dimension, rotate the image, upscale it on the width dimension and rotate back to the original orientation.
  • There are no upscaling steps when a mask is used.
  • The removal area in upscaling sets an area as unimportant, allowing a particular area to be stretched.
  • The color of an area to be removed must be different than the colors in the image.
  • The color of an area to be preserved must be different than the colors in the image and different from the removal area color.
  • If multiple removal objects exist, then all of them have to be the same color. This also applies to the color of an area to be preserved.
  • If MaskImage has a preserve area and no remove area, then the newWidth must be specified.
  • Draw the mask over the area to be removed a little larger than the area to be removed. This does not always hold true but is a good practice to follow.
  • Make the mask wide enough in order to force upscaling to remain in the remove area. This does not always hold true but is a good practice to follow.
  • This command does not support signed data images.
  • This command does not support 32-bit grayscale images.
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.SpecialEffects; 
public void IntelligentUpScaleCommandExample() 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Sample3.cmp")); 
   IntelligentUpScaleCommand command = new IntelligentUpScaleCommand(); 
   command.UpScalingOrder = 1; 
   command.NewWidth = image.Width + 100; 
   command.NewHeight = image.Height; 
   command.UsePreserveObjectColor = false; 
   command.UseRemoveObjectColor = false; 
   // Apply the intelligent UpScale on the image. 
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "IntelligentUpScaleResult.jpg"), RasterImageFormat.Jpeg, 24); 
static class LEAD_VARS 
   public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images"; 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.SpecialEffects 
Public Sub IntelligentUpScaleCommandExample() 
   ' Load an image 
   Dim Codecs As RasterCodecs = New RasterCodecs() 
   Codecs.ThrowExceptionsOnInvalidImages = True 
   Dim image As RasterImage = Codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Sample3.cmp")) 
   Dim Command As IntelligentUpScaleCommand = New IntelligentUpScaleCommand() 
   Command.UpScalingOrder = 1 
   Command.NewWidth = image.Width + 100 
   Command.NewHeight = image.Height 
   Command.UsePreserveObjectColor = False 
   Command.UseRemoveObjectColor = False 
   ' Apply the intelligent UpScale on the image. 
   Codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "IntelligentUpScaleResult.jpg"), RasterImageFormat.Jpeg, 24) 
End Sub 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images" 
End Class 

Target Platforms

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

Leadtools.ImageProcessing.SpecialEffects Assembly