Converts the WPF/Silverlight image in the Source property to the LEADTOOLS Leadtools.RasterImage and set it in Image.
public virtual void UpdateImageFromSource() Public Overridable Sub UpdateImageFromSource()
public:virtual void UpdateImageFromSource();
If the Source property is changed, the RasterImageBox must be informed so it can reflect the changes into the Image object. The UpdateImageFromSource can be used to perform this task.
The control uses the RasterImageConverter.ConvertFromSource to convert the WPF/Silverlight System.Windows.Media.ImageSource to LEADTOOLS Leadtools.RasterImage. The value of the ConvertFromSourceOptions property is used as the options parameter to this method.
using Leadtools.Help;using Leadtools.Windows.Controls;using Leadtools.ImageProcessing;using Leadtools.Codecs;public void ImageViewer_UpdateImageFromSource(RasterImageBox viewer){BitmapImage bitmapImage = new BitmapImage(new Uri(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg")));//Convert to Bgr32aFormatConvertedBitmap convertedBitmap = new FormatConvertedBitmap(bitmapImage, PixelFormats.Bgra32, null, 1);viewer.Source = new WriteableBitmap(convertedBitmap);WriteableBitmap writeableBitmap = viewer.Source as WriteableBitmap;int[] pixels = new int[writeableBitmap.PixelWidth * writeableBitmap.PixelHeight];int stride = writeableBitmap.PixelWidth * 4;writeableBitmap.CopyPixels(pixels, stride, 0);// Fill the bitmap with Red.for (int i = 0; i < writeableBitmap.PixelWidth; ++i){for (int j = 0; j < writeableBitmap.PixelHeight; ++j){int color_data = (255 << 24) | (0 << 16) | (0 << 8) | 0;int pos = i + j * writeableBitmap.PixelWidth;pixels[pos] = color_data;}}Int32Rect sourceRect = new Int32Rect(0, 0, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight);writeableBitmap.WritePixels(sourceRect, pixels, stride, 0);viewer.UpdateImageFromSource();}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
Imports Leadtools.Windows.ControlsImports Leadtools.ImageProcessingImports Leadtools.CodecsImports LeadtoolsPublic Sub ImageViewer_UpdateImageFromSource(ByVal viewer As RasterImageBox)Dim bitmapImage As BitmapImage = New BitmapImage(New Uri(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg")))'Convert to Bgr32aDim convertedBitmap As FormatConvertedBitmap = New FormatConvertedBitmap(bitmapImage, PixelFormats.Bgra32, Nothing, 1)viewer.Source = New WriteableBitmap(convertedBitmap)Dim writeableBitmap As WriteableBitmap = TryCast(viewer.Source, WriteableBitmap)Dim pixels As Integer() = New Integer(writeableBitmap.PixelWidth * writeableBitmap.PixelHeight - 1) {}Dim stride As Integer = writeableBitmap.PixelWidth * 4writeableBitmap.CopyPixels(pixels, stride, 0)' Fill the bitmap with Red.Dim i As Integer = 0Do While i < writeableBitmap.PixelWidthDim j As Integer = 0Do While j < writeableBitmap.PixelHeightDim color_data As Integer = (255 << 24) Or (0 << 16) Or (0 << 8) Or 0Dim pos As Integer = i + j * writeableBitmap.PixelWidthpixels(pos) = color_dataj += 1Loopi += 1LoopDim sourceRect As Int32Rect = New Int32Rect(0, 0, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight)writeableBitmap.WritePixels(sourceRect, pixels, stride, 0)viewer.UpdateImageFromSource()End SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
using Leadtools.Help;using Leadtools.Windows.Controls;using Leadtools.ImageProcessing;using Leadtools.Codecs;public void ImageViewer_UpdateImageFromSource(RasterImageBox viewer){RasterCodecs codecs = new RasterCodecs();RasterImage image = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "cannon.jpg");//Convert to Bgr32aColorResolutionCommand cmd = new ColorResolutionCommand(ColorResolutionCommandMode.InPlace, 32, RasterByteOrder.Bgr, RasterDitheringMethod.None, ColorResolutionCommandPaletteFlags.None, null);cmd.Run(image);Stream stream = new MemoryStream();codecs.Save(image, stream, RasterImageFormat.Bmp, image.BitsPerPixel);BitmapImage imgSource = new BitmapImage();imgSource.SetSource(stream);viewer.Source = imgSource;WriteableBitmap writeableBitmap = viewer.Source as WriteableBitmap;int[] pixels = new int[writeableBitmap.PixelWidth * writeableBitmap.PixelHeight];int stride = writeableBitmap.PixelWidth * 4;Array.Copy(writeableBitmap.Pixels, pixels, stride);// Fill the bitmap with Red.for (int i = 0; i < writeableBitmap.PixelWidth; ++i){for (int j = 0; j < writeableBitmap.PixelHeight; ++j){int color_data = (255 << 24) | (0 << 16) | (0 << 8) | 0;int pos = i + j * writeableBitmap.PixelWidth;pixels[pos] = color_data;}}Array.Copy(pixels, writeableBitmap.Pixels, stride);viewer.UpdateImageFromSource();}
Imports LeadtoolsImports Leadtools.Windows.ControlsImports Leadtools.ImageProcessingImports Leadtools.CodecsPublic Sub ImageViewer_UpdateImageFromSource(ByVal viewer As RasterImageBox)Dim codecs As RasterCodecs = New RasterCodecs()Dim image As RasterImage = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path & "cannon.jpg")'Convert to Bgr32aDim cmd As ColorResolutionCommand = New ColorResolutionCommand(ColorResolutionCommandMode.InPlace, 32, RasterByteOrder.Bgr,RasterDitheringMethod.None, ColorResolutionCommandPaletteFlags.None, Nothing)cmd.Run(image)Dim stream As Stream = New MemoryStream()codecs.Save(image, stream, RasterImageFormat.Bmp, image.BitsPerPixel)Dim imgSource As BitmapImage = New BitmapImage()imgSource.SetSource(stream)viewer.Source = imgSourceDim writeableBitmap As WriteableBitmap = TryCast(viewer.Source, WriteableBitmap)Dim pixels As Integer() = New Integer(writeableBitmap.PixelWidth * writeableBitmap.PixelHeight - 1) {}Dim stride As Integer = writeableBitmap.PixelWidth * 4Array.Copy(writeableBitmap.Pixels, pixels, stride)' Fill the bitmap with Red.Dim i As Integer = 0Do While i < writeableBitmap.PixelWidthDim j As Integer = 0Do While j < writeableBitmap.PixelHeightDim color_data As Integer = (255 << 24) Or (0 << 16) Or (0 << 8) Or 0Dim pos As Integer = i + j * writeableBitmap.PixelWidthpixels(pos) = color_dataj += 1Loopi += 1LoopArray.Copy(pixels, writeableBitmap.Pixels, stride)viewer.UpdateImageFromSource()End Sub
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
