Windows 8.1 新控件和功能:
2020-12-13 03:29
标签:des style class blog code http 将 XAML 树呈现为位图: 适用于 Windows 8.1 的 Windows 运行时为 Windows.UI.Xaml.Media.Imaging 命名空间添加了一种新类型:RenderTargetBitmap。 此类型提供了两个关键方法: RenderTargetBitmap.RenderAsync,用于提取 XAML 可视化树 并为其创建位图表示。 注意 此操作采用异步方式,将给定的 XAML 元素树呈现为位图。 此方法与屏幕刷新不同步,不能保证精确的帧计时,因此该位图可能在假定捕获时刻前后的一瞬间进行呈现。 RenderTargetBitmap.GetPixelsAsync,用于以特定格式返回像素的字节数组。 下例显示如何呈现 XAML 元素树。 RenderTargetBitmap 继承自 ImageSource,因此可以直接将其设置为 Image 对象的源,而无需调用 GetPixelsAsync 以获取及显示位图数据。 下例显示如何将呈现的位图写入文件。 MetroApp保存UIEment为图片 http://www.cnblogs.com/manupstairs/p/3556642.html 的代码 也差不多。其//pixal format shouldconvert to rgba8 下面的一段交换代码不用会变色。 Windows 8.1 新控件和功能:,搜素材,soscw.com Windows 8.1 新控件和功能: 标签:des style class blog code http 原文地址:http://www.cnblogs.com/qianblue/p/3809470.html
var renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(myElementTree);
myImage.Source = renderTargetBitmap;
var bitmap = new RenderTargetBitmap();
await bitmap.RenderAsync(this.C1);
IBuffer buffer = await bitmap.GetPixelsAsync();
var pixelStream = buffer.AsStream();
FileSavePicker savePicker = new FileSavePicker();
savePicker.SuggestedStartLocation = PickerLocationId.Desktop;
savePicker.FileTypeChoices.Add("Bitmap", new Liststring>() { ".png" });
savePicker.SuggestedFileName = "New Bitmap";
StorageFile savedItem = await savePicker.PickSaveFileAsync();
Guid encoderId = BitmapEncoder.PngEncoderId;
IRandomAccessStream fileStream = await savedItem.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite);
BitmapEncoder encoder = await BitmapEncoder.CreateAsync(encoderId, fileStream);
byte[] pixels = new byte[pixelStream.Length];
pixelStream.Read(pixels, 0, pixels.Length);
//pixal format shouldconvert to rgba8
for (int i = 0; i 4)
{
byte temp = pixels[i];
pixels[i] = pixels[i + 2];
pixels[i + 2] = temp;
}
encoder.SetPixelData(
BitmapPixelFormat.Rgba8,
BitmapAlphaMode.Straight,
(uint)bitmap.PixelWidth,
(uint)bitmap.PixelHeight,
96, // Horizontal DPI
96, // Vertical DPI
pixels);
await encoder.FlushAsync();
下一篇:SAP MM模块 常用Bapi