In This Topic
Overlays image on a top of the another image.
Object Model
Syntax
Remarks
The top image will be always converted to the pixel format of the bottom image.
Palette of the bottom image will be used if bottom image is a palette image.
This command can overlay 8- and 32-bpp images with transparency, transparency of alpha component in the overlay image is used.
This command can overlay 24- and 32-bpp images with transparency, color, in overlay image, specified as transparent color is used.
Example
This C#/VB.NET code shows how to load image from disk, overlay the image by another image and save the result to a new image file.
Class OverlayCommandExample
Public Sub ProcessImage()
' [ do not forget to set your image file path here! ]
' create an image collection
Using images As New Vintasoft.Imaging.ImageCollection()
' add image to the image collection
images.Add("Flower.jpg")
Try
Using overlayImage As New Vintasoft.Imaging.VintasoftImage("Background.jpg")
' create the image processing command
Dim command As New Vintasoft.Imaging.ImageProcessing.OverlayCommand(overlayImage, New System.Drawing.Point(200, 200))
' subscribe to progress event of image processing command
AddHandler command.Progress, New System.EventHandler(Of Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)(AddressOf command_Progress)
Try
' for each image in image collection
For Each image As Vintasoft.Imaging.VintasoftImage In images
' apply the image processing command to the image
command.ExecuteInPlace(image)
Next
Catch ex As Vintasoft.Imaging.ImageProcessing.ImageProcessingException
' show error message
System.Windows.Forms.MessageBox.Show(ex.Message)
Return
End Try
End Using
' save the processed image collection to a new TIFF file
images.SaveSync("processed-image.tif")
Finally
images.ClearAndDisposeItems()
End Try
End Using
End Sub
Private Sub command_Progress(sender As Object, e As Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)
' update progress info using e.Progress property
' ...
' cancel execution of command using e.Cancel property if necessary
' ...
End Sub
End Class
class OverlayCommandExample
{
public void ProcessImage()
{
// [ do not forget to set your image file path here! ]
// create an image collection
using (Vintasoft.Imaging.ImageCollection images = new Vintasoft.Imaging.ImageCollection())
{
// add image to the image collection
images.Add("Flower.jpg");
try
{
using (Vintasoft.Imaging.VintasoftImage overlayImage = new Vintasoft.Imaging.VintasoftImage("Background.jpg"))
{
// create the image processing command
Vintasoft.Imaging.ImageProcessing.OverlayCommand command =
new Vintasoft.Imaging.ImageProcessing.OverlayCommand(overlayImage, new System.Drawing.Point(200, 200));
// subscribe to progress event of image processing command
command.Progress +=
new System.EventHandler<Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs>(command_Progress);
try
{
// for each image in image collection
foreach (Vintasoft.Imaging.VintasoftImage image in images)
{
// apply the image processing command to the image
command.ExecuteInPlace(image);
}
}
catch (Vintasoft.Imaging.ImageProcessing.ImageProcessingException ex)
{
// show error message
System.Windows.Forms.MessageBox.Show(ex.Message);
return;
}
}
// save the processed image collection to a new TIFF file
images.SaveSync("processed-image.tif");
}
finally
{
images.ClearAndDisposeItems();
}
}
}
void command_Progress(object sender, Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs e)
{
// update progress info using e.Progress property
// ...
// cancel execution of command using e.Cancel property if necessary
// ...
}
}
Inheritance Hierarchy
Requirements
Target Platforms: .NET9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5
See Also