示例#1
0
        public IRenderImageSource CreateRenderImageSource(RenderImageType imageType, byte[] imageData, Rect sourceRect)
        {
            string mimeType = converter.ToMimeTypeString(imageType);
            string url      = CreateObjectUrl(CreateBlob(imageData, mimeType));

            return(new RenderImageSource(Container, url, true, sourceRect));
        }
        public IRenderImageSource CreateRenderImageSource(RenderImageType imageType, byte[] data, Rect sourceRect)
        {
            wpf::System.Windows.Media.Imaging.BitmapImage bitmapImage = new wpf::System.Windows.Media.Imaging.BitmapImage();

            bitmapImage.BeginInit();
            bitmapImage.StreamSource = new MemoryStream(data);

            if (!sourceRect.IsNullOrEmpty())
            {
                bitmapImage.SourceRect = new wpf::System.Windows.Int32Rect((int)sourceRect.Left, (int)sourceRect.Top, (int)sourceRect.Width, (int)sourceRect.Height);
            }

            bitmapImage.EndInit();

            return(new WpfRenderImageSource(bitmapImage));
        }
        public string ToMimeTypeString(RenderImageType renderImageType)
        {
            switch (renderImageType)
            {
            case RenderImageType.Unknown: return(String.Empty);

            case RenderImageType.Gif: return("image/gif");

            case RenderImageType.Jpeg: return("image/jpeg");

            case RenderImageType.Png: return("image/png");

            case RenderImageType.Svg: return("image/svg+xml");
            }

            throw new Granular.Exception("Unexpected RenderImageType \"{0}\"", renderImageType);
        }
示例#4
0
        public IRenderImageSource CreateRenderImageSource(RenderImageType imageType, byte[] data, Rect sourceRect)
        {
            wpf::System.Windows.Media.Imaging.BitmapImage bitmapImage = new wpf::System.Windows.Media.Imaging.BitmapImage();

            bitmapImage.BeginInit();
            bitmapImage.StreamSource = new MemoryStream(data);

            if (!sourceRect.IsNullOrEmpty())
            {
                bitmapImage.SourceRect = new wpf::System.Windows.Int32Rect((int)sourceRect.Left, (int)sourceRect.Top, (int)sourceRect.Width, (int)sourceRect.Height);
            }

            bitmapImage.EndInit();

            return new WpfRenderImageSource(bitmapImage);
        }
 public IRenderImageSource CreateRenderImageSource(RenderImageType imageType, byte[] data, Rect sourceRect)
 {
     return(new TestRenderImageSource());
 }
示例#6
0
 public static BitmapSource Create(RenderImageType imageType, byte[] data, Rect sourceRect = null)
 {
     return(new BitmapSource(ApplicationHost.Current.RenderImageSourceFactory.CreateRenderImageSource(imageType, data, sourceRect)));
 }
示例#7
0
 public static BitmapSource Create(RenderImageType imageType, byte[] data, Rect sourceRect = null)
 {
     return new BitmapSource(ApplicationHost.Current.RenderImageSourceFactory.CreateRenderImageSource(imageType, data, sourceRect));
 }
示例#8
0
 public IRenderImageSource CreateRenderImageSource(RenderImageType imageType, byte[] data, Rect sourceRect)
 {
     return new TestRenderImageSource();
 }
示例#9
0
        public IRenderImageSource CreateRenderImageSource(RenderImageType imageType, byte[] imageData, Rect sourceRect)
        {
            string mimeType = converter.ToMimeTypeString(imageType);
            string url = CreateObjectUrl(CreateBlob(imageData, mimeType));

            return new RenderImageSource(Container, url, true, sourceRect);
        }
示例#10
0
        public string ToMimeTypeString(RenderImageType renderImageType)
        {
            switch (renderImageType)
            {
                case RenderImageType.Unknown: return String.Empty;
                case RenderImageType.Gif: return "image/gif";
                case RenderImageType.Jpeg: return "image/jpeg";
                case RenderImageType.Png: return "image/png";
                case RenderImageType.Svg: return "image/svg+xml";
            }

            throw new Granular.Exception("Unexpected RenderImageType \"{0}\"", renderImageType);
        }