
'Declaration Public Interface IRasterGridEditor
public interface IRasterGridEditor
public __gc __interface IRasterGridEditor
public interface class IRasterGridEditor
''' <summary> ''' Gets an image of first tile of TIFF page, ''' rotates the tile image 180 degrees, ''' sets changed tile image as new image of first tile, ''' saves changes to the source TIFF file. ''' </summary> Public Shared Sub ChangeTileOfTiffPage(tiffFilename As String, pageIndex As Integer) Using stream As System.IO.Stream = New System.IO.FileStream(tiffFilename, System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite) Using decoder As New Vintasoft.Imaging.Codecs.Decoders.TiffDecoder(stream) ' get raster grid editor Dim rasterGridEditor As Vintasoft.Imaging.Codecs.ImageFiles.IRasterGridEditor = decoder.GetRasterGridEditor() ' get grid of raster regions Dim grid As System.Drawing.Rectangle() = rasterGridEditor.GetRasterEditorGrid(pageIndex) If grid Is Nothing OrElse grid.Length = 0 Then Throw New System.Exception("Image tiles cannot be changed.") End If ' index of the region to change Dim rectIndex As Integer = 0 ' get region to change Dim region As System.Drawing.Rectangle = grid(rectIndex) ' image of changing region Dim regionImage As Vintasoft.Imaging.VintasoftImage ' create image renderer Using renderer As New Vintasoft.Imaging.ImageRendering.ImageRenderer(decoder, pageIndex) ' create region rendering task Dim renderingTask As Vintasoft.Imaging.ImageRendering.ImageRenderingTask = Vintasoft.Imaging.ImageRendering.ImageRenderingTask.CreateImageRegion(region) ' set to convert to the source format renderingTask.ConvertDestImageToSourceFormat = True ' get an image of first tile regionImage = renderer.ExecuteRendering(renderingTask) End Using ' rotate the tile image 180 degrees regionImage.Flip(Vintasoft.Imaging.ImageProcessing.Transforms.ImageRotateFlipType.Rotate180FlipNone) ' set the tile image as new image of first tile rasterGridEditor.SetImageRect(pageIndex, rectIndex, regionImage, Nothing) regionImage.Dispose() ' save changes to the source TIFF file rasterGridEditor.SaveChanges(Nothing) End Using End Using
/// <summary> /// Gets an image of first tile of TIFF page, /// rotates the tile image 180 degrees, /// sets changed tile image as new image of first tile, /// saves changes to the source TIFF file. /// </summary> public static void ChangeTileOfTiffPage(string tiffFilename, int pageIndex) { using (System.IO.Stream stream = new System.IO.FileStream( tiffFilename, System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite)) { using (Vintasoft.Imaging.Codecs.Decoders.TiffDecoder decoder = new Vintasoft.Imaging.Codecs.Decoders.TiffDecoder(stream)) { // get raster grid editor Vintasoft.Imaging.Codecs.ImageFiles.IRasterGridEditor rasterGridEditor = decoder.GetRasterGridEditor(); // get grid of raster regions System.Drawing.Rectangle[] grid = rasterGridEditor.GetRasterEditorGrid(pageIndex); if (grid == null || grid.Length == 0) throw new System.Exception("Image tiles cannot be changed."); // index of the region to change int rectIndex = 0; // get region to change System.Drawing.Rectangle region = grid[rectIndex]; // image of changing region Vintasoft.Imaging.VintasoftImage regionImage; // create image renderer using (Vintasoft.Imaging.ImageRendering.ImageRenderer renderer = new Vintasoft.Imaging.ImageRendering.ImageRenderer(decoder, pageIndex)) { // create region rendering task Vintasoft.Imaging.ImageRendering.ImageRenderingTask renderingTask = Vintasoft.Imaging.ImageRendering.ImageRenderingTask.CreateImageRegion(region); // set to convert to the source format renderingTask.ConvertDestImageToSourceFormat = true; // get an image of first tile regionImage = renderer.ExecuteRendering(renderingTask); } // rotate the tile image 180 degrees regionImage.Flip(Vintasoft.Imaging.ImageProcessing.Transforms.ImageRotateFlipType.Rotate180FlipNone); // set the tile image as new image of first tile rasterGridEditor.SetImageRect(pageIndex, rectIndex, regionImage, null); regionImage.Dispose(); // save changes to the source TIFF file rasterGridEditor.SaveChanges(null); } }
Target Platforms: Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows Server 2012, Windows Server 2008, Windows Server 2003