【发布时间】:2016-06-09 21:56:45
【问题描述】:
XAML:
<ImageBrush x:Key="Symbol1Brush" ImageSource="Resources\Symbol1.png" Stretch="Uniform" />
代码:
// In some class
_imageProcessor = new ImageProcessor(Resources["Symbol1Image"] as BitmapImage)
和
public class ImageProcessor
{
private readonly Bitmap _primaryMarkerSymbol;
public ImageProcessor(BitmapImage primaryMarkerSymbol)
{
if (primaryMarkerSymbol == null)
throw new ArgumentNullException("primaryMarkerSymbol");
_primaryMarkerSymbol = new Bitmap(primaryMarkerSymbol.StreamSource);
}
public Bitmap ProcessImage()
{
Graphics g = Graphics.FromImage(img);
g.DrawImage(_primaryMarkerSymbol);
g.Flush();
return img;
}
}
_primaryMarkerSymbol = 新位图(primaryMarkerSymbol.StreamSource) 抛出异常:“null”的值对“stream”无效。
我假设如果 BitmapImage 是从 Resource 创建的,则不会填充 StreamSource。
还有哪些选择? 谢谢。
编辑:
重点是使用 XAML ResourceDictionary 中定义的源对象(例如 ImageBrush、BitmapImage)。
【问题讨论】:
-
看看 Daniel Wolf 对以下问题的回答:stackoverflow.com/questions/94456/…
-
感谢您的链接。将来可能会派上用场。