VintaSoft Imaging .NET SDK 12.3: Documentation for .NET developer
In This Topic
    TIFF: How to add image collection to TIFF file?
    In This Topic
    Image collection can be added to TIFF file by several ways.


    Here is an example that shows how to synchronously add non black-white images from image collection to TIFF file using TiffEncoder class:
    public void AddImagesToTiff(System.IO.Stream stream, Vintasoft.Imaging.ImageCollection images)
    {
        // add images to TIFF file
        using (Vintasoft.Imaging.Codecs.Encoders.TiffEncoder encoder = 
            new Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(false))
        {
            // use LZW compression
            encoder.Settings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Lzw;
    
            // add images to TIFF file
            encoder.SaveImages(images, stream);
        }
    }
    
    Public Sub AddImagesToTiff(stream As System.IO.Stream, images As Vintasoft.Imaging.ImageCollection)
        ' add images to TIFF file
        Using encoder As New Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(False)
            ' use LZW compression
            encoder.Settings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Lzw
    
            ' add images to TIFF file
            encoder.SaveImages(images, stream)
        End Using
    End Sub
    


    Here is an example that shows how to synchronously add non black-white images from image collection to TIFF file using TiffFile class:
    public void AddImagesToTiff(System.IO.Stream stream, Vintasoft.Imaging.ImageCollection images)
    {
        // open existing TIFF file
        using (Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile tiff = 
            new Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile(stream))
        {
            // use LZW compression
            tiff.Pages.EncoderSettings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Lzw;
    
            // for each image in image collection
            for (int i = 0; i < images.Count; i++)
            {
                // do not save black-white images to TIFF file
                if (images[i].BitsPerPixel == 1)
                    continue;
    
                // add image to TIFF file
                tiff.Pages.Add(images[i]);
    
                // save changes
                tiff.SaveChanges();
            }
        }
    }
    
    Public Sub AddImagesToTiff(stream As System.IO.Stream, images As Vintasoft.Imaging.ImageCollection)
        ' open existing TIFF file
        Using tiff As New Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffFile(stream)
            ' use LZW compression
            tiff.Pages.EncoderSettings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Lzw
    
            ' for each image in image collection
            For i As Integer = 0 To images.Count - 1
                ' do not save black-white images to TIFF file
                If images(i).BitsPerPixel = 1 Then
                    Continue For
                End If
    
                ' add image to TIFF file
                tiff.Pages.Add(images(i))
    
                ' save changes
                tiff.SaveChanges()
            Next
        End Using
    End Sub
    


    Here is an example that shows how to synchronously add non black-white images from image collection to TIFF file using ImageCollection and TiffEncoder classes:
    public void AddImagesToTiff(System.IO.Stream stream, Vintasoft.Imaging.ImageCollection images)
    {
        // add images to TIFF file
        Vintasoft.Imaging.Codecs.Encoders.TiffEncoder encoder = new Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(false);
    
        // use LZW compression
        encoder.Settings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Lzw;
    
        // add images to TIFF file synchronously
        images.SaveSync(stream, encoder);
    
        // release resources used by encoder
        encoder.Dispose();
    }
    
    Public Sub AddImagesToTiff(stream As System.IO.Stream, images As Vintasoft.Imaging.ImageCollection)
        ' add images to TIFF file
        Dim encoder As New Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(False)
    
        ' use LZW compression
        encoder.Settings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Lzw
    
        ' add images to TIFF file synchronously
        images.SaveSync(stream, encoder)
    
        ' release resources used by encoder
        encoder.Dispose()
    End Sub
    


    Here is an example that shows how to asynchronously add non black-white images from image collection to TIFF file using ImageCollection and TiffEncoder classes:
    public void AddImagesToTiff(System.IO.Stream stream, Vintasoft.Imaging.ImageCollection images)
    {
        // add images to TIFF file
        Vintasoft.Imaging.Codecs.Encoders.TiffEncoder encoder = new Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(false);
    
        // use LZW compression
        encoder.Settings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Lzw;
    
        // add images to TIFF file asynchronously
        images.SaveAsync(stream, encoder);
    }
    
    Public Sub AddImagesToTiff(stream As System.IO.Stream, images As Vintasoft.Imaging.ImageCollection)
        ' add images to TIFF file
        Dim encoder As New Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(False)
    
        ' use LZW compression
        encoder.Settings.Compression = Vintasoft.Imaging.Codecs.ImageFiles.Tiff.TiffCompression.Lzw
    
        ' add images to TIFF file asynchronously
        images.SaveAsync(stream, encoder)
    End Sub