2014-11-22 2 views
1

Я просмотрел изображение с помощью LEADTOOLS18. и показать его в RasterImageViewer.Как добавить текст для изображения

Я хочу добавить текст в изображение.

Я использую этот код.

rasterImageViewer.BeginUpdate(); 
var container = new RasterImageGdiPlusGraphicsContainer(rasterImageViewer.Image); 
container.Graphics.SmoothingMode = SmoothingMode.HighQuality; 
Font font = new Font(new FontFamily("Tahoma"), 12); 
var point = new PointF(200, 200); 
container.Graphics.DrawString("LEADTOOLS", font, new SolidBrush(Color.Red), point); 
rasterImageViewer.EndUpdate(); 
rasterImageViewer.UpdateLayout(); 

но не добавляйте текст !!!

ответ

1

Ваш код верный, но ему что-то не хватает. Когда вы изменяете элемент изображения зрителя, который является элементом Leadtools.RasterImage, это не изображение, которое действительно отображается. Сначала он должен быть преобразован в WPF ImageSource, затем сохранен в свойстве источника просмотра.

Когда вы используете один из классов обработки изображений LEADTOOLS, он автоматически выполняет это преобразование, например, этот код:

Leadtools.ImageProcessing.Effects.AverageCommand average = new AverageCommand(3); 
average.Run(rasterImageViewer.Image); 

Однако при использовании графических команд для рисования на изображении, вы должны сообщить об этом что изображение изменилось, чтобы источник обновлялся. Одним из способов является поднять событие RasterImage.Changed, как это непосредственно после кода:

rasterImageViewer.Image.OnChanged(new 
    Leadtools.RasterImageChangedEventArgs(Leadtools.RasterImageChangedFlags.Data)); 

Другой способ выполнить преобразование себя, как это:

var src = Leadtools.Windows.Media.RasterImageConverter.ConvertToSource(rasterImageViewer.Image, 
    Leadtools.Windows.Media.ConvertToSourceOptions.None); 
rasterImageViewer.Source = null; 
rasterImageViewer.Source = src; 
Смежные вопросы