В этом разделе
Накладывает изображение поверх другого изображения.
Объектная модель
Синтаксис
Ремарки
Верхнее изображение всегда будет преобразовано в пиксельный формат нижнего изображения.
Палитра нижнего изображения будет использоваться, если нижнее изображение является палитрой.
Эта команда может накладывать 8- и 32-битные изображения с прозрачностью, используется прозрачность альфа-компонента в наложенном изображении.
Эта команда может накладывать 24- и 32-битные изображения с прозрачностью, цвет, в наложенном изображении, указанный как прозрачный цвет, используется.
Пример
Вот C#/VB.NET код, который демонстрирует, как загрузить изображение с диска, наложить изображение другим изображением и сохранить результат в новый файл изображения.
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
// ...
}
}
Иерархия наследования
Требования
Целевые платформы: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5
Смотрите также