In This Topic
ImageCollection.SaveSync method can be used for synchronous saving of image collection to a file or stream.
ImageCollection.SaveAsync method can be used for asynchronous saving of image collection to a file or stream.
Here is a list of supported image encoders:
- BMP
- GIF
- Icon / Cursor
- JBIG2 (VintaSoft JBIG2 .NET Plug-in is necessary)
- JPEG
- JPEG2000 (VintaSoft JPEG2000 .NET Plug-in is necessary)
- PBM, PGM, PPM
- PCX
- PDF (VintaSoft PDF .NET Plug-in is necessary)
- PNG
- SVG
- TGA
- TIFF, BigTIFF
- WEBP
Encoder passed as a method parameter defines saving parameters: save image with annotations,
save to the same source, copy TIFF tags, copy EXIF data and much more.
Here is an example that shows how to add images to an existing TIFF file synchronously:
Vintasoft.Imaging.ImageCollection images =
new Vintasoft.Imaging.ImageCollection();
images.Add("myimage1.png");
images.Add("myimage2.jpg");
// add images to an existing TIFF file
Vintasoft.Imaging.Codecs.Encoders.TiffEncoder encoder =
new Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(false);
images.SaveSync("mydocument.tif", encoder);
Dim images As New Vintasoft.Imaging.ImageCollection()
images.Add("myimage1.png")
images.Add("myimage2.jpg")
' add images to an existing TIFF file
Dim encoder As New Vintasoft.Imaging.Codecs.Encoders.TiffEncoder(False)
images.SaveSync("mydocument.tif", encoder)
Here is an example that shows how to open TIFF file, rotate the second page
of TIFF file and save changes in TIFF file:
// open TIFF file
System.IO.FileStream fStream = new System.IO.FileStream(
"multipage.tif", System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite);
Vintasoft.Imaging.ImageCollection images =
new Vintasoft.Imaging.ImageCollection();
images.Add(fStream);
// rotate the second page of TIFF file
images[1].Rotate(90);
// save changes to TIFF file
Vintasoft.Imaging.Codecs.Encoders.TiffEncoder encoder =
new Vintasoft.Imaging.Codecs.Encoders.TiffEncoder();
encoder.SaveAndSwitchSource = true;
images.SaveSync(fStream, encoder);
' open TIFF file
Dim fStream As New System.IO.FileStream("multipage.tif", System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite)
Dim images As New Vintasoft.Imaging.ImageCollection()
images.Add(fStream)
' rotate the second page of TIFF file
images(1).Rotate(90)
' save changes to TIFF file
Dim encoder As New Vintasoft.Imaging.Codecs.Encoders.TiffEncoder()
encoder.SaveAndSwitchSource = True
images.SaveSync(fStream, encoder)
Here is an example that shows how to add images to a new PDF document asynchronously:
// ...
Vintasoft.Imaging.ImageCollection images =
new Vintasoft.Imaging.ImageCollection();
images.Add("myimage1.png");
images.Add("myimage2.jpg");
// create new PDF document
Vintasoft.Imaging.Codecs.Encoders.PdfEncoder encoder =
new Vintasoft.Imaging.Codecs.Encoders.PdfEncoder(true);
encoder.Settings.DocumentAuthor = "VintaSoft Ltd.";
encoder.Settings.DocumentTitle = "My document title.";
encoder.Settings.DocumentCreator = "VintaSoft Imaging .NET SDK";
encoder.Settings.DocumentCreationDate = System.DateTime.Now;
images.SaveAsync("mydocument.pdf", encoder);
// ...
' ...
Dim images As New Vintasoft.Imaging.ImageCollection()
images.Add("myimage1.png")
images.Add("myimage2.jpg")
' create new PDF document
Dim encoder As New Vintasoft.Imaging.Codecs.Encoders.PdfEncoder(True)
encoder.Settings.DocumentAuthor = "VintaSoft Ltd."
encoder.Settings.DocumentTitle = "My document title."
encoder.Settings.DocumentCreator = "VintaSoft Imaging .NET SDK"
encoder.Settings.DocumentCreationDate = System.DateTime.Now
images.SaveAsync("mydocument.pdf", encoder)
' ...
Events
ImageCollection.ImageCollectionSaving event occurs before image collection is saving.
For each image of image collection:
ImageCollection.ImageCollectionSavingFinished event occurs the image collection saving process is finished.
ImageCollection.ImageCollectionSaved event occurs when the image collection is successfully saved.
All events of the Vintasoft.Imaging.ImageCollection class are not thread-safe.