我有一个包含我需要在屏幕上显示的图像数据的ushort [],当我创建一个Windows.System.Drawing.Bitmap,并将其转换为BitmapImage时,这感觉就像一个缓慢无助的方式来做到这一点.
有没有人创建ushort []的BitmapImage的最快方法是什么?
或者从数据中另外创建一个ImageSource对象?
谢谢,
埃蒙·
我从服务器收到一个image/jpeg; base64字符串.如何将此字符串转换为BitmapImage并设置为Image.Source?
string imgStr = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAAQABAAD .... ";
BitmapImage bmp = Base64StringToBitmap(imgStr);
myImage.Source = bmp;
Run Code Online (Sandbox Code Playgroud)
提前致谢!
给个图:
Image tileSet = new Image();
tileSet.Source = new BitmapImage(new Uri(@".."));
Run Code Online (Sandbox Code Playgroud)
我如何裁剪它,定义一个矩形区域?
我正在制作一个Windows Phone 7应用程序,它涉及从Web获取大图像并将其放入ScrollViewer供用户滚动.不过,我认为我正在受到限制BitmapImage,因为图像似乎在高度或宽度上都被切割成2048像素.
这是Silverlight的已知限制BitmapImage吗?在这种情况下是否允许使用其他类来滚动大图像?
谢谢
很抱歉问这样的问题,但我找不到一个好的答案:/
BitmapImage和Bitmap有什么区别?
我想使用TIFF图像与我必须工作的任何一个.我发现了一些适用于BitmapImage的教程和另一个适用于Bitmap的教程.
我有个问题.我想转换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))
{
ms.Position = 0;
bitmapImage.BeginInit();
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.StreamSource = ms;
bitmapImage.EndInit(); // HERE'S AN EXCEPTION!!!
}
return bitmapImage;
}
Run Code Online (Sandbox Code Playgroud)
第一个工作正常,但当我尝试转换byte[]成 …
我正在尝试从面板中保存位图,但保存的图像是在程序的栏中...
如何使用指定的面板保存图像?
这是我的代码:
Bitmap bitmap = new Bitmap(panel1.Width, panel1.Height);
this.DrawToBitmap(bitmap, panel1.ClientRectangle);
bitmap.Save("C:\\" + pagAtual + ".bmp", ImageFormat.Bmp);
Run Code Online (Sandbox Code Playgroud) 我收到这个错误.这是代码:
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; }));
}
Run Code Online (Sandbox Code Playgroud)
如何将System.Drawing.Image转换为BitmapImage并在wpf上显示相同的内容?
有一些示例可以执行此操作,但它们适用于Windows Phone 8.0或8.1 Silverlight.
但是如何为Windows Phone 8.1 Runtime执行此操作?
我想补充Ellipse一些MenuItems我的ContextMenu.
可悲的是,我无法让这个工作[ 没有显示 ].
Canvas canvas = new Canvas() { Height = 16, Width = 16 };
canvas.Children.Add(new System.Windows.Shapes.Ellipse()
{
Height = 16,
Width = 16,
Fill = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Red)
});
System.Windows.Media.Imaging.RenderTargetBitmap bmp = new System.Windows.Media.Imaging.RenderTargetBitmap((int)canvas.Width, (int)canvas.Height, 96, 96, System.Windows.Media.PixelFormats.Default);
bmp.Render(canvas);
MenuItem tmp = new MenuItem();
tmp.Header = "Away";
tmp.Icon = new System.Windows.Controls.Image()
{
Source = bmp
};
AddContextMenuEntry(tmp);
Run Code Online (Sandbox Code Playgroud)
我错过了什么或者这里有什么问题?
预期结果将是...... 像这样: