Tag: bitmapimage

将PNG图像保存到WP7的隔离存储

这里有相当多的图像到隔离存储问题,但我找不到适合我情况的好答案 – 所以我们走了。 我从网络上获取一个.png图像,并将其保存为BitmapImage -object。 当它完成加载(在BitmapImage.ImageOpened事件上)时,我想将它保存到独立存储。 那么,我怎样才能从这个BitmapImage(或直接来自网络)获取字节或文件流 – 这无关紧要,以便我可以将它写入我的IsolatedStorageFileStream ? 我无法在互联网上找到一篇关于它的文章, BitmapImage.StreamSource适用于WP7(因此BitmapImage.StreamSource不可用).png图像。 任何帮助将不胜感激。

BitmapImage:访问已关闭的StreamSource

我正在使用以下代码尝试将我的BitmapImage转换为byte [],以便将其保存在MS SQL数据库中。 public static byte[] BufferFromImage(BitmapImage img) { if (img == null) return null; byte[] result = null; using (Stream stream = img.StreamSource) { if (stream != null && stream.Length > 0) { using (BinaryReader br = new BinaryReader(stream)) { result = br.ReadBytes((int)(stream.Length)); } } } return result; } 遗憾的是,当我尝试在if语句中访问img.StreamSource时,这不起作用,导致exception“无法访问已处理的文件”。 我的调用: BufferFromImage(imgLogo.Source as BitmapImage); […]

在Windows Phone 8.1 Runtime中将BitmapImage转换为byte 数组

有一些示例可以执行此操作,但它们适用于Windows Phone 8.0或8.1 Silverlight。 但是如何为Windows Phone 8.1 Runtime执行此操作?

错误:调用线程无法访问此对象,因为另一个线程拥有它

我收到这个错误。 这是代码: Image image; BitmapImage BmpImg; MemoryStream ms; public void Convert() { ms = new MemoryStream(); image.Save(ms, ImageFormat.Jpeg); BmpImg = new BitmapImage(); BmpImg.BeginInit(); BmpImg.StreamSource = new MemoryStream(ms.ToArray()); BmpImg.EndInit(); } private void Btn_Click(object sender, RoutedEventArgs e) { Dispatcher.Invoke(new Action(() => { Image.Source = BmpImg; })); } 如何将System.Drawing.Image转换为BitmapImage并在wpf上显示相同的内容?

将动态BitmapImage转换为Windows Phone应用程序中的灰度BitmapImage

我想将BitmapImage转换为Grayscale BitmapImage:我从一个方法得到的因此 – 我不知道宽度和高度。 我已经尝试过查看诸如WritableBitmapEx和静态扩展方法之类的选项,但它们对我没有帮助,因为我希望返回数据类型是BitmapImage,然后我需要将它添加到List。 这在使用C#的Windows Phone应用程序中是否可行? 如果有人能对此有所了解,我将非常感激。 谢谢。

byte 到BitmapImage转换失败

我有个问题。 我想将BitmapImage转换为byte[]数组并返回。 我写了这些方法: public static byte[] ToByteArray(this BitmapImage bitmapImage) { byte[] bytes; using (MemoryStream ms = new MemoryStream()) { bitmapImage.BeginInit(); bitmapImage.CacheOption = BitmapCacheOption.OnLoad; bitmapImage.StreamSource.CopyTo(ms); bitmapImage.EndInit(); bytes = ms.ToArray(); } return bytes; } public static BitmapImage ToBitmapImage(this byte[] bytes, int width, int height) { BitmapImage bitmapImage = new BitmapImage(); using (MemoryStream ms = new MemoryStream(bytes)) { […]

来自MemoryStream的UWP BitmapImage SetSource挂起

在我的UWP应用程序中,我以byte []的forms将图像存储在SQLite数据库中。 然后当我从db中检索我的对象时,我将它们绑定到具有Image控件的GridView数据模板。 由于我无法将Image的Source直接绑定到数组,因此我在对象的类中创建了一个BitmapImage属性,以将Image控件绑定到: public BitmapImage Icon { get { using (var stream = new MemoryStream(icon)) { stream.Seek(0, SeekOrigin.Begin); var img = new BitmapImage(); img.SetSource(stream.AsRandomAccessStream()); return img; } } } 问题是,我的应用程序挂在img.SetSource行上。 经过一些实验,我发现第二个MemoryStream可以解决这个问题: public BitmapImage Icon { get { using (var stream = new MemoryStream(icon)) { stream.Seek(0, SeekOrigin.Begin); var s2 = new MemoryStream(); stream.CopyTo(s2); s2.Position = […]

在WPF中更改BitMapImage的尺寸,以及可以在元素中放置哪种对象?

我正在尝试使用TreeView元素创建一个资源管理器应用程序,并为树的每个级别提供不同的图标,并按照以下文章进行操作: http : //www.codeproject.com/Articles/21248/A-Simple-WPF-资源管理器树 这一切都很好,除了我想要有不同大小的图标。 我的XAML for Image元素在这里: 决定返回哪个图标的代码片段在这里: if ((value as string).Contains(@”\””)) { Uri uri = new Uri (“pack://application:,,,/Images/DeployWiz_Network.png”); BitmapImage source = new BitmapImage(uri); return source; } 如何更改返回图像的尺寸? 更改bitmapimage对象的尺寸似乎不起作用。 我可以返回哪些其他图像对象作为源?

InteropBitmap到BitmapImage

我正在尝试将Bitmap (SystemIcons.Question)转换为BitmapImage以便我可以在WPF图像控件中使用它。 我有以下方法将其转换为BitmapSource ,但它返回一个InteropBitmapImage ,现在的问题是如何将其转换为BitmapImage 。 直接演员似乎不起作用。 有谁知道怎么做? 码: public BitmapSource ConvertToBitmapSource() { int width = SystemIcons.Question.Width; int height = SystemIcons.Question.Height; object a = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(SystemIcons.Question.ToBitmap().GetHbitmap(), IntPtr.Zero, System.Windows.Int32Rect.Empty, BitmapSizeOptions.FromWidthAndHeight(width, height)); return (BitmapSource)a; } 返回BitmapImage的属性:(绑定到我的图像控件) public BitmapImage QuestionIcon { get { return (BitmapImage)ConvertToBitmapSource(); } }

将DrawingImage转换为BitmapImage

我想绘制大量的形状(线条,椭圆和……),然后将它们保存为位图或png。 我制作了图纸,问题是:如何在C# 中将DrawingImage转换为BitmapImage ? 代码是这样的: DrawingGroup drawingGroup = new DrawingGroup(); using(DrawingContext context = drawingGroup.Open()) { //make some drawing } DrawingImage drawingImage = new DrawingImage(drawingGroup) // your suggestion? DrawingImage – > BitmapImage