我試圖在UWP應用程序中包含Windows Ink,並通過調整Windows Ink tutorial app將繪製的筆畫保存爲PNG圖像(而不是GIF/ISF)來啓動。將Windows Ink保存爲透明PNG圖像 - 缺失熒光筆筆畫
因此,XAML視圖包括Windows.UI.Xaml.Controls.InkToolbar
和Windows.UI.Xaml.Controls.InkCanvas
,我能畫在畫布上的筆觸和將其保存爲圖像文件通過下面的代碼:
IReadOnlyList<InkStroke> currentStrokes = inkCanvas.InkPresenter.StrokeContainer.GetStrokes();
if (currentStrokes.Count > 0)
{
StorageFile file;
// Using a file picker to identify the target file -> omitted this part
if (file != null)
{
CanvasDevice device = CanvasDevice.GetSharedDevice();
CanvasRenderTarget renderTarget = new CanvasRenderTarget(device, (int)inkCanvas.ActualWidth, (int)inkCanvas.ActualHeight, 96);
using (var ds = renderTarget.CreateDrawingSession())
{
ds.Clear(Colors.White);
ds.DrawInk(currentStrokes);
}
using (var fileStream = await file.OpenAsync(FileAccessMode.ReadWrite))
await renderTarget.SaveAsync(fileStream, CanvasBitmapFileFormat.Png, 1f);
}
}
一切正常,所以遠。現在,我想保存透明背景的圖像,並改變了以下行:
ds.Clear(Colors.Transparent);
即使在這種情況下,該文件被保存,背景是透明的,圓珠筆筆畫以及鉛筆筆觸被正確呈現 - 但圖像結果不包括使用熒光筆工具繪製的任何筆畫。
有人可以解釋爲什麼這些筆畫在這種情況下被省略?是否有可能通過透明背景呈現熒光筆筆畫?
謝謝,很好的解決方法! – andreask