Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction | Help Version 19.0.7.12
|
Take the following steps to start a project:
Text | Name |
---|---|
Split TIFF | buttonSplit |
[Visual Basic]
Imports System.IO
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
[C#]
using System.IO;
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
[Visual Basic]
Private Sub buttonSplit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonSplit.Click
' Intitialize a new RasterCodecs object.
Dim codecs As New RasterCodecs()
Dim multiPageFileName As String = CreateMultiPageFile(codecs)
' Find out how many pages the file has
Dim info As CodecsImageInfo = codecs.GetInformation(multiPageFileName, True)
' Loop through the pages of the file; perform specific processing on it, then save each page to a separate file:
Dim flip As New FlipCommand()
Dim outputDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
For pageNumber As Integer = 1 To info.TotalPages
' Load the next image in the loop
Dim image As RasterImage = codecs.Load(multiPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, pageNumber, pageNumber)
' Perform specific processing on the page, such as flipping it
flip.Run(image)
' Save the page to a separate file
Dim pageFileName As String = Path.Combine(outputDir, "Page" + pageNumber.ToString() + ".tif")
codecs.Save(image, pageFileName, RasterImageFormat.Tif, 0)
Next
End Sub
[C#]
private void buttonSplit_Click(object sender, System.EventArgs e)
{
// Intitialize a new RasterCodecs object.
RasterCodecs codecs = new RasterCodecs();
string multiPageFileName = CreateMultiPageFile(codecs);
// Find out how many pages the file has
CodecsImageInfo info = codecs.GetInformation(multiPageFileName, true);
// Loop through the pages of the file; perform specific processing on it, then save each page to a separate file:
FlipCommand flip = new FlipCommand();
string outputDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
for(int pageNumber = 1; pageNumber <= info.TotalPages; pageNumber++)
{
// Load the next image in the loop
RasterImage image = codecs.Load(multiPageFileName, 0, CodecsLoadByteOrder.BgrOrGray, pageNumber, pageNumber);
// Perform specific processing on the page, such as flipping it
flip.Run(image);
// Save the page to a separate file
string pageFileName = Path.Combine(outputDir, "Page" + pageNumber + ".tif");
codecs.Save(image, pageFileName, RasterImageFormat.Tif, 0);
image.Dispose();
}
}
[Visual Basic]
Function CreateMultiPageFile(ByVal codecs As RasterCodecs) As String
' Create a multi-page TIF file
Dim pageFileName() As String = _
{ _
"C:\Users\Public\Documents\LEADTOOLS Images\Ocr1.tif", _
"C:\Users\Public\Documents\LEADTOOLS Images\Ocr2.tif", _
"C:\Users\Public\Documents\LEADTOOLS Images\Ocr3.tif", _
"C:\Users\Public\Documents\LEADTOOLS Images\Ocr4.tif" _
}
Dim image As RasterImage = Nothing
For i As Integer = 0 To pageFileName.Length - 1
' load the page image
Dim page As RasterImage = codecs.Load(pageFileName(i))
If (i = 0) Then
' first image, just save it into our variable
image = page
Else
' add this page into our image
image.AddPage(page)
' we do not need this page anymore
page.Dispose()
End If
Next
Dim outputFileName As String = "C:\Users\Public\Documents\LEADTOOLS Images\MultiPage.tif"
If (File.Exists(outputFileName)) Then
File.Delete(outputFileName)
End If
codecs.Save(image, outputFileName, RasterImageFormat.Tif, 1, 1, 4, 1, CodecsSavePageMode.Overwrite)
image.Dispose()
Return outputFileName
End Function
[C#]
string CreateMultiPageFile(RasterCodecs codecs)
{
// Create a multi-page TIF file
string[] pageFileName =
{
@"C:\Users\Public\Documents\LEADTOOLS Images\Ocr1.tif",
@"C:\Users\Public\Documents\LEADTOOLS Images\Ocr2.tif",
@"C:\Users\Public\Documents\LEADTOOLS Images\Ocr3.tif",
@"C:\Users\Public\Documents\LEADTOOLS Images\Ocr4.tif"
};
RasterImage image = null;
for(int i = 0; i < pageFileName.Length; i++)
{
// load the page image
RasterImage page = codecs.Load(pageFileName[i]);
if(i == 0)
{
// first image, just save it into our variable
image = page;
}
else
{
// add this page into our image
image.AddPage(page);
// we do not need this page anymore
page.Dispose();
}
}
string outputFileName = @"C:\Users\Public\Documents\LEADTOOLS Images\MultiPage.tif";
if(File.Exists(outputFileName))
File.Delete(outputFileName);
codecs.Save(image, outputFileName, RasterImageFormat.Tif, 1, 1, 4, 1, CodecsSavePageMode.Overwrite);
image.Dispose();
return outputFileName;
}