VintaSoft Imaging .NET SDK 14.0: Документация для .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()