←Select platform

FlipViewPerspective Method

Summary
Flips this RasterImage by changing its ViewPerspective.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public void FlipViewPerspective( 
   bool horizontal 
) 
- (BOOL)flipViewPerspective:(BOOL)horizontal error:(NSError **)error 
public void flipViewPerspective( 
   boolean booleanValue 
); 
public: 
void FlipViewPerspective(  
   bool horizontal 
)  
def FlipViewPerspective(self,horizontal): 

Parameters

horizontal
true to flip horizontally, false to flip vertically.

Remarks

((Document/Medical only) only).

This method achieves fast flip by changing only the ViewPerspective.

After using this method, you can reverse the result by restoring the original ViewPerspective.

Some methods must account for the view perspective. For more information refer to Accounting for View Perspective.

For more information, refer to Introduction to Image Processing With LEADTOOLS.

Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Dicom; 
using Leadtools.Drawing; 
using Leadtools.Controls; 
using Leadtools.Svg; 
 
 
public void ChangedExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); 
 
   // Load the image 
   RasterImage img = codecs.Load(srcFileName); 
 
   // Subscribe to the Changed event of this image 
   img.Changed += new EventHandler<RasterImageChangedEventArgs>(img_Changed); 
 
   // Call a few methods and image processing commands that changes the image 
   Console.WriteLine("Calling FlipViewPerspective"); 
   img.FlipViewPerspective(true); 
 
   Console.WriteLine("Calling RotateViewPerspective"); 
   img.RotateViewPerspective(90); 
 
   Console.WriteLine("Calling FlipCommand"); 
   FlipCommand flip = new FlipCommand(true); 
   flip.Run(img); 
 
   // Now disable firing the events and call the methods again 
   Console.WriteLine("Disabling the events"); 
   img.DisableEvents(); 
 
   Console.WriteLine("Calling FlipViewPerspective"); 
   img.FlipViewPerspective(true); 
 
   Console.WriteLine("Calling RotateViewPerspective"); 
   img.RotateViewPerspective(90); 
 
   Console.WriteLine("Calling FlipCommand while"); 
   flip.Run(img); 
 
   // Re-enable the events and fire it manually 
   Console.WriteLine("Re-enabling the events"); 
   img.EnableEvents(); 
 
   Console.WriteLine("Firing the event manually"); 
   RasterImageChangedFlags flags = RasterImageChangedFlags.Data | RasterImageChangedFlags.ViewPerspective; 
   RasterImageChangedEventArgs e = new RasterImageChangedEventArgs(flags); 
 
   img.OnChanged(e); 
 
   // Clean up 
   img.Changed -= new EventHandler<RasterImageChangedEventArgs>(img_Changed); 
   img.Dispose(); 
   codecs.Dispose(); 
} 
 
void img_Changed(object sender, RasterImageChangedEventArgs e) 
{ 
   // Show the changed flags 
   Console.WriteLine("Changed: {0}", e.Flags); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.IOException; 
import java.io.InputStream; 
import java.util.ArrayList; 
import java.util.List; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.core.*; 
import leadtools.svg.*; 
import leadtools.imageprocessing.CloneCommand; 
import leadtools.imageprocessing.FillCommand; 
import leadtools.imageprocessing.FlipCommand; 
import leadtools.imageprocessing.GrayscaleCommand; 
import leadtools.imageprocessing.color.InvertCommand; 
import leadtools.imageprocessing.color.PosterizeCommand; 
 
 
public void changedExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   RasterCodecs codecs = new RasterCodecs(); 
   String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1.cmp"); 
 
   // Load the image 
   RasterImage img = codecs.load(srcFileName); 
 
   // Subscribe to the Changed event of this image 
   img.addChangedListener(img_Changed); 
 
   // Call a few methods and image processing commands that changes the image 
   System.out.println("Calling FlipViewPerspective"); 
   img.flipViewPerspective(true); 
 
   System.out.println("Calling RotateViewPerspective"); 
   img.rotateViewPerspective(90); 
 
   System.out.println("Calling FlipCommand"); 
   FlipCommand flip = new FlipCommand(true); 
   flip.run(img); 
 
   // Now disable firing the events and call the methods again 
   System.out.println("Disabling the events"); 
   img.disableEvents(); 
 
   System.out.println("Calling FlipViewPerspective"); 
   img.flipViewPerspective(true); 
 
   System.out.println("Calling RotateViewPerspective"); 
   img.rotateViewPerspective(90); 
 
   System.out.println("Calling FlipCommand while"); 
   flip.run(img); 
 
   // Re-enable the events and fire it manually 
   System.out.println("Re-enabling the events"); 
   img.enableEvents(); 
 
   System.out.println("Firing the event manually"); 
   RasterImageChangedFlags flags = RasterImageChangedFlags 
         .forValue(RasterImageChangedFlags.DATA | RasterImageChangedFlags.VIEW_PERSPECTIVE); 
   RasterImageChangedEvent e = new RasterImageChangedEvent(flags, 
         RasterImageChangedFlags.DATA | RasterImageChangedFlags.VIEW_PERSPECTIVE); 
 
   img.onChanged(e); 
 
   // Save it 
   codecs.save(img, srcFileName, RasterImageFormat.CMP, 0); 
 
   // Clean up 
   img.removeChangedListener(img_Changed); 
   img.dispose(); 
   codecs.dispose(); 
 
   assertTrue("file unsuccessfully saved to " + srcFileName, (new File(srcFileName)).exists()); 
   System.out.printf("File saved successfully to %s%n", srcFileName); 
} 
 
RasterImageChangedListener img_Changed = new RasterImageChangedListener() { 
 
   @Override 
   public void onImageChangedAlert(RasterImageChangedEvent arg0) { 
      System.out.printf("Changed: %s%n", arg0.getFlags()); 
   } 
 
}; 
Requirements

Target Platforms

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

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