我试图从JPG中提取BitmapImage.这是我的代码:
FileStream fIn = new FileStream(sourceFileName, FileMode.Open); // source JPG
Bitmap dImg = new Bitmap(fIn);
MemoryStream ms = new MemoryStream();
dImg.Save(ms, ImageFormat.Jpeg);
image = new BitmapImage();
image.BeginInit();
image.StreamSource = new MemoryStream(ms.ToArray());
image.EndInit();
ms.Close();
Run Code Online (Sandbox Code Playgroud)
图像以0×0图像返回,这当然意味着它不起作用.我该怎么做呢?
我正在使用一个生成大型ImageSource的类库,> 3000x3750像素.我想将此ImageSource转换为BitmapImage,以便我可以利用DecodePixelWidth或DecodePixelHeight,而不是每次生成此图像时调整它的大小.
我需要首先为用户显示此图像,并且大多数用户的屏幕分辨率为1024x768,我将此ImageSource绑定到Image控件,但可以注意到它是多么"重".
我怎样才能做到这一点?或者这个案例的最佳解决方案是什么?
谢谢!
BitmapImage bitmapImage = new BitmapImage(new Uri("arka_projects_as_logo.png", UriKind.Relative));
Image uiElement = new Image() { Source = bitmapImage };
ScaleTransform t = new ScaleTransform() { ScaleX = 0.2, ScaleY = 0.2 };
WriteableBitmap writeableBitmap = new WriteableBitmap(uiElement,t);
Run Code Online (Sandbox Code Playgroud)
我想插入这个转换(WriteableBitmap的)的结果为System.Windows.Controls.Image.当我这样做:
Image arkaImage = new Image() { Source = writeableBitmap };
Run Code Online (Sandbox Code Playgroud)
arkaImage根本没有显示.有什么办法可以让它发挥作用?
我有一个byte[]代表图像的原始数据.我想把它转换为BitmapImage.
我尝试了几个我发现的例子但是我一直得到以下异常
"没有找到适合完成此操作的成像组件."
我认为这是因为我byte[]实际上并不代表图像而只是原始位.所以我的问题如上所述是如何将原始位的byte []转换为a BitmapImage.
我当前的项目与位图到矢量有关.到目前为止我找到了这些库:
该项目将用于矢量化卡通形象(漫画或卡通,特别是).我的主要目标是矢量化黑白图像.所以potrace给了我足够的结果,但我想处理渐变,例如,逐渐从黑色到白色.
到目前为止,很难找到支持颜色渐变的库.Ardeco和rastertovector支持颜色渐变,但它们有点过时了.我想知道是否有任何维护良好(当然,文档齐全)的矢量追踪库
谢谢!
我的纯Win32项目中有一个HBITMAP(没有使用外部库).我可以仅使用Winapi和/或CRT函数将其导出到*.bmp文件,因此我不会产生任何额外的依赖关系吗?
我正在尝试重新加载我在WPF中显示的图像(System.Windows.Controls.Image).我设置源代码如下:
ScreenAtco01Image.Source = new BitmapImage(new Uri(@"Y:/screenshots/naratco08-0-0-screenshot.png", UriKind.RelativeOrAbsolute));
Run Code Online (Sandbox Code Playgroud)
我做了一个按钮,它应该强制重新加载这个图像(它每秒在磁盘上更改).
我已经尝试重置源,但这没有做任何事情.但是,如果我将Source更改为其他图像,则会加载此不同的图像.似乎有些事情正在被缓存?
谢谢你的帮助.
我已经子类化,Canvas以便我可以覆盖它的Render功能.我需要知道如何在WPF中加载位图并将其渲染到画布.我是WPF的新手,我没有找到任何教程向您展示如何做一些看似微不足道的事情.带示例的分步说明会很棒.
我有一个RenderTargetBitmap,我需要将其转换为BitmapImage.请检查以下代码.
RenderTargetBitmap bitMap = getRenderTargetBitmap();
Image image = new Image();// This is a Image
image.Source = bitMap;
Run Code Online (Sandbox Code Playgroud)
在上面的代码中我使用了Image.Now我需要使用BitmapImage.我怎样才能做到这一点?
RenderTargetBitmap bitMap = getRenderTargetBitmap();
BitmapImage image = new BitmapImage();// This is a BitmapImage
// how to set bitMap as source of BitmapImage ?
Run Code Online (Sandbox Code Playgroud) 我正在测试一个WP8应用程序和它的图像查看器来显示许多图像,我发现应用程序的内存消耗正在提高,并希望找到如何解决它.
我已经从网上阅读了一些文章,但这些文章提供的解决方案不适用于我的应用,请阅读以下历史记录.
首先,我发现文章" Windows Phone 7的图像提示 "并下载其样本进行清洁图像缓存测试,它使用的是1张图像.
然后出于测试目的,我使用应用程序内的15个离线图像编译此应用程序,并设置为"内容",请从此处下载测试应用程序.
我的测试步骤是:
(1) Launch app
(2) Go to Image Caching page
(3) Enable checkbox "Avoid Image Caching"
(4) Continuously tapping button Show/Clear
(5) Keep watching the memory status textblock at the bottom
Run Code Online (Sandbox Code Playgroud)
当我测试我的应用程序时,内存正在提升,如16.02MB =>显示(19.32MB)=>清除(16.15MB)=>显示(20.18MB)=>清除(17.03MB)...等和内存即使离开缓存页面再次进入缓存页面也不会被释放.似乎文章" Windows Phone 7的图像提示 "的解决方案仅适用于1个图像.
这是" Windows Phone 7的图像提示 "解决方案的xaml和代码隐藏.
[Caching.xaml]
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel Orientation="Horizontal" VerticalAlignment="Top">
<ToggleButton Content="Show" Width="150" Checked="ShowImageClicked" Unchecked="ClearImageClicked"/>
<CheckBox x:Name="cbAvoidCache" Content="Avoid Image …Run Code Online (Sandbox Code Playgroud)