AsImageSource() public static method

public static AsImageSource ( object nativeImage ) : System.Windows.Media.ImageSource
nativeImage object
return System.Windows.Media.ImageSource
示例#1
0
        public override object CropBitmap(object handle, int srcX, int srcY, int w, int h)
        {
            var oldImg = (SWMI.BitmapSource)DataConverter.AsImageSource(handle);
            var bmp    = new CroppedBitmap(oldImg, new Int32Rect(srcX, srcY, w, h));

            return(new WpfImage(bmp));
        }
示例#2
0
        public ImageAdorner(UIElement owner, object image)
            : base(owner)
        {
            var source = DataConverter.AsImageSource(image);

            this.child = new Image {
                Source = source,
                Width  = source.Width,
                Height = source.Height
            };
        }
示例#3
0
        public void SetImage(object nativeImage)
        {
            if (nativeImage == null)
            {
                throw new ArgumentNullException("nativeImage");
            }

            ImageSource source = DataConverter.AsImageSource(nativeImage);

            if (source == null)
            {
                throw new ArgumentException("nativeImage is not of the expected type", "nativeImage");
            }

            Image.Source = source;
        }
示例#4
0
        public override void SaveToStream(object backend, Stream stream, Drawing.ImageFileType fileType)
        {
            var           image = DataConverter.AsImageSource(backend) as BitmapSource;
            BitmapEncoder encoder;

            switch (fileType)
            {
            case Drawing.ImageFileType.Png: encoder = new PngBitmapEncoder(); break;

            case Drawing.ImageFileType.Jpeg: encoder = new JpegBitmapEncoder(); break;

            case Drawing.ImageFileType.Bmp: encoder = new BmpBitmapEncoder(); break;

            default: throw new NotSupportedException("Image format not supported");
            }
            encoder.Frames.Add(BitmapFrame.Create(image));
            encoder.Save(stream);
        }
示例#5
0
        public override object CropBitmap(object handle, int srcX, int srcY, int w, int h)
        {
            var oldImg = (SWMI.BitmapSource)DataConverter.AsImageSource(handle);

            double width  = WidthToDPI(oldImg, w);
            double height = HeightToDPI(oldImg, h);

            SWM.DrawingVisual visual = new SWM.DrawingVisual();
            using (SWM.DrawingContext ctx = visual.RenderOpen())
            {
                //Not sure whether this actually works, untested
                ctx.DrawImage(oldImg, new System.Windows.Rect(-srcX, -srcY, srcX + width, srcY + height));
            }

            SWMI.RenderTargetBitmap bmp = new SWMI.RenderTargetBitmap((int)width, (int)height, oldImg.DpiX, oldImg.DpiY, PixelFormats.Pbgra32);
            bmp.Render(visual);

            return(bmp);
        }
示例#6
0
        public void SetContent(string label, object imageBackend, ContentPosition position)
        {
            if (imageBackend == null)
            {
                Button.Content = label;
            }
            else if (String.IsNullOrEmpty(label))
            {
                Button.Content = new SWC.Image {
                    Source = DataConverter.AsImageSource(imageBackend)
                }
            }
            ;
            else
            {
                SWC.DockPanel grid = new SWC.DockPanel();

                var       img       = DataConverter.AsImageSource(imageBackend);
                SWC.Image imageCtrl = new SWC.Image
                {
                    Source = img,
                    Width  = img.Width,
                    Height = img.Height
                };

                SWC.DockPanel.SetDock(imageCtrl, DataConverter.ToWpfDock(position));
                grid.Children.Add(imageCtrl);

                SWC.Label labelCtrl = new SWC.Label();
                labelCtrl.Content = label;
                grid.Children.Add(labelCtrl);

                Button.Content = grid;
            }
            Button.InvalidateMeasure();
        }
示例#7
0
 public override object CopyBitmap(object handle)
 {
     return(new WpfImage(((SWMI.BitmapSource)DataConverter.AsImageSource(handle)).Clone()));
 }
示例#8
0
 public override object GetNativeImage(Image image)
 {
     return(DataConverter.AsImageSource(Toolkit.GetBackend(image)));
 }
 public object CreateImage(object backend)
 {
     return(DataConverter.AsImageSource(backend));
 }
示例#10
0
 public void SetIcon(object imageBackend)
 {
     window.Icon = DataConverter.AsImageSource(imageBackend);
 }