another question中介绍了如何从UIElement
创建图片。
然而,我正在尝试制作一个UIElement
的图像,其中非填充背景保持透明。这个目前在我的代码中完成(不工作用于透明度):
var imageBrush_Final = new ImageBrush
{
ImageSource = bi,
Stretch = Stretch.None
};
FinalCanvas.Background.Opacity = 0;
FindChildShieldCanvas_FinalCanvas(FinalCanvas, imageBrush_Final);
FinalCanvas.InvalidateArrange();
FinalCanvas.UpdateLayout();
WriteableBitmap writeableBitmap_Finals = new WriteableBitmap(FinalCanvas, null);
String tempPNG = results.Username + "My_Crest.png";
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream imageStream = new IsolatedStorageFileStream(tempPNG, System.IO.FileMode.OpenOrCreate, isf))
{
await Cimbalino.Toolkit.Extensions.WriteableBitmapExtensions.SavePngAsync(writeableBitmap_Finals, imageStream);
}
}
创建的图像是canvas
,其中添加了一个形状。形状填充ImageBrush
,特别是imageBrush_Final
。画布仅部分由涂有imageBrush_Final
的内部形状画家填充。因此,我希望创建的writeableBitmap_Finals
只填充形状,其余部分完全透明。
有谁知道我是如何实现这一点的,为什么在UIElement
,即canvas
将其背景设置为Opacity
到0
时,它不会被保存?< / p>