使用 c# 在 Windows Store App 中裁剪和保存图像(UIElement)
Posted
技术标签:
【中文标题】使用 c# 在 Windows Store App 中裁剪和保存图像(UIElement)【英文标题】:Crop and save image (UIElement) in Windows Store App using c# with 【发布时间】:2014-02-07 23:46:18 【问题描述】:我已经可以从我的应用程序的实际内容中获取打印屏幕。 我选择 az UIElement(例如网格),然后将其渲染为 bmp 文件。
但是我怎样才能按照我的感觉裁剪这张图片呢? 下面的代码有效,只是缺少裁剪。我为 Windows 8.1 工作。
public async void SaveVisualElementToFile(UIElement element, StorageFile file)
var renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(element);
var pixels = await renderTargetBitmap.GetPixelsAsync();
using (IRandomAccessStream stream = await
file.OpenAsync(FileAccessMode.ReadWrite))
var encoder = await BitmapEncoder.CreateAsync(
BitmapEncoder.JpegEncoderId, stream);
byte[] bytes = pixels.ToArray();
encoder.SetPixelData(BitmapPixelFormat.Bgra8,
BitmapAlphaMode.Ignore,
(uint)renderTargetBitmap.PixelWidth,
(uint)renderTargetBitmap.PixelHeight,
96, 96, bytes);
await encoder.FlushAsync();
【问题讨论】:
【参考方案1】:有几种方法可以做到这一点。 MSFT 自己支持traditional way。您还可以使用一些扩展名,例如WinRTXamlToolkit 和WriteableBitmapEx。后两者使它变得很容易。在 Codeplex 上查看他们的示例应用程序的源代码,其中将包含有关如何使用裁剪的示例。
【讨论】:
是的,今天我用 WriteableBitmapEx 做到了,所以 thnaks :)以上是关于使用 c# 在 Windows Store App 中裁剪和保存图像(UIElement)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows Store App 中使用 SearchBox 搜索内容?
C# Windows Store 应用程序为 UsbDevice 返回 null