VintaSoft Imaging .NET SDK 15.2: Документация для .NET разработчика
В этом разделе
TIFF: Обзор
В этом разделе
Tagged Image File Format (TIFF) - это формат файлов для хранения растровых графических изображений, которые обычно поступают со сканеров, программ захвата кадров, программ для ретуширования картинок и фотографий. TIFF-файл может содержать одну или несколько страниц. Размер TIFF-файла не может превышать 4 Гб.

Big TIFF - это расширение формата, в котором размер TIFF-файла может превышать 4 Гб.


VintaSoft Imaging .NET SDK содержит набор классов для удобной работы с TIFF и Big TIFF-файлами.

SDK поддерживает:

Класс TiffFile

Класс TiffFile позволяет:
Вот C#/VB.NET код, который демонстрирует, как создать новый TIFF-файл в формате little-endian (Intel):
Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile tiffFile1 = 
    new Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile(
        Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFileFormat.LittleEndian);
Dim tiffFile1 As New Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFileFormat.LittleEndian)


Вот C#/VB.NET код, который демонстрирует, как загрузить существующий TIFF-файл:
Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile tiffFile1 = 
    new Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile("multipage.tif");
Dim tiffFile1 As New Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile("multipage.tif")



Класс TiffPageCollection

Класс TiffPageCollection позволяет:
Вот C#/VB.NET код, который демонстрирует, как загрузить многостраничный TIFF-файл, добавить JPEG изображение в конец TIFF-файла, вставить PNG изображение в начало TIFF-файла и удалить третью страницу из TIFF-файла:
Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile tiffFile1 = 
    new Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile("multipage.tif");
tiffFile1.Pages.Add(new Vintasoft.Imaging.VintasoftImage("image.jpg"));
tiffFile1.Pages.Insert(0, new Vintasoft.Imaging.VintasoftImage("image.png"));
tiffFile1.Pages.RemoveAt(2);
tiffFile1.SaveChanges();
Dim tiffFile1 As New Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile("multipage.tif")
tiffFile1.Pages.Add(New Vintasoft.Imaging.VintasoftImage("image.jpg"))
tiffFile1.Pages.Insert(0, New Vintasoft.Imaging.VintasoftImage("image.png"))
tiffFile1.Pages.RemoveAt(2)
tiffFile1.SaveChanges()



Класс TiffPage

Класс TiffPage позволяет:
Для изображений, сохраненных на TIFF странице, поддерживаются следующие алгоритмы сжатия изображений:
Вот C#/VB.NET код, который демонстрирует, как получить первую страницу TIFF-файла как объект VintasoftImage:
Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile tiffFile1 = 
    new Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile("multipage.tif");
Vintasoft.Imaging.VintasoftImage pageImage = tiffFile1.Pages[0].GetImage();
Dim tiffFile1 As New Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile("multipage.tif")
Dim pageImage As Vintasoft.Imaging.VintasoftImage = tiffFile1.Pages(0).GetImage()



Класс TiffImageFileDirectory

Класс TiffImageFileDirectory позволяет:

Класс TiffTagCollection

Класс TiffTagCollection позволяет:
Тег с идентификатором из перечисления ReadOnlyTiffTagId не может быть добавлен/изменен/удален.


Вот C#/VB.NET код, который демонстрирует, как добавить/изменить/удалить теги TIFF файла:
using (Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile tiffFile1 = 
    new Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile(@"image-with-tags.tif"))
{
    Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagCollection tags = tiffFile1.Pages[0].IFD.Tags;
    tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.Software, "VintaSoft Imaging .NET SDK v8.2");
    tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.Make, "VintaSoft LLC.");
    tags.Add((ushort)0xE001, "BarcodeInfo");
    tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.DateTime, "2009:03:03 10:20:05");
    tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.XResolution, 
        new Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffRational(100, 1));
    tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.YResolution, 
        new Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffRational(100, 1));
    tags.Remove(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.PrintImageMatching);
    tiffFile1.SaveChanges();
}
Using tiffFile1 As New Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile("image-with-tags.tif")
    Dim tags As Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagCollection = tiffFile1.Pages(0).IFD.Tags
    tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.Software, "VintaSoft Imaging .NET SDK v8.2")
    tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.Make, "VintaSoft LLC.")
    tags.Add(CUShort(&He001), "BarcodeInfo")
    tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.DateTime, "2009:03:03 10:20:05")
    tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.XResolution, New Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffRational(100, 1))
    tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.YResolution, New Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffRational(100, 1))
    tags.Remove(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.PrintImageMatching)
    tiffFile1.SaveChanges()
End Using



Класс TiffTag

Класс TiffTag позволяет:
Вот C#/VB.NET код, который демонстрирует, как добавить/изменить данные тега DateTime первой страницы TIFF-файла:
Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile tiffFile1 = 
    new Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile("multipage.tif");
Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTag dateTimeTag = 
    tiffFile1.Pages[0].IFD.Tags.Find(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.DateTime);
if (dateTimeTag != null)
    dateTimeTag.Data = "01/09/2013 11:45:51";
else
    tiffFile1.Pages[0].IFD.Tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.DateTime, "01/09/2013 11:45:51");
tiffFile1.SaveChanges();
Dim tiffFile1 As New Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile("multipage.tif")
Dim dateTimeTag As Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTag = tiffFile1.Pages(0).IFD.Tags.Find(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.DateTime)
If dateTimeTag IsNot Nothing Then
    dateTimeTag.Data = "01/09/2013 11:45:51"
Else
    tiffFile1.Pages(0).IFD.Tags.Add(Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffTagId.DateTime, "01/09/2013 11:45:51")
End If
tiffFile1.SaveChanges()