- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正拼命尝试将突出显示笔画保存为 png。我正在使用 win2d for UWP 来完成这项工作。它适用于 100% 不透明度的笔画,但当我设置 DrawAsHighlighter = true;
时,保存的 png 为空,完全透明。
这是我的代码:
private void SetHighLight()
{
InkDrawingAttributes attributes = new InkDrawingAttributes();
attributes.DrawAsHighlighter = true;
attributes.PenTip = PenTipShape.Rectangle;
attributes.Size = new Size(4, 10);
attributes.Color = currentColor;
SetAttribute(attributes);
}
private void GetCanvasRender(out CanvasRenderTarget renderTarget)
{
CanvasDevice device = CanvasDevice.GetSharedDevice();
renderTarget = new CanvasRenderTarget(device, (int)ink.ActualWidth, (int)ink.ActualHeight, 96);
using (var ds = renderTarget.CreateDrawingSession())
{
ds.Clear(Colors.Transparent); //I already tried to delete this but it doesn't change anything
ds.DrawInk(ink.InkPresenter.StrokeContainer.GetStrokes());
}
}
private async void SavePicture()
{
CanvasRenderTarget renderTarget;
Image img = new Image();
GetCanvasRender(out renderTarget);
StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
StorageFile noteFile = await storageFolder.CreateFileAsync(i.ToString() + ".png", CreationCollisionOption.ReplaceExisting);
using (var fileStream = await noteFile.OpenAsync(FileAccessMode.ReadWrite))
await renderTarget.SaveAsync(fileStream, CanvasBitmapFileFormat.Png, 1f);
img.Source = new BitmapImage(new Uri(storageFolder.Path + "/" + i++ + ".png"));
img.VerticalAlignment = VerticalAlignment.Stretch;
ContainerCanvas.Children.Add(img);
Canvas.SetTop(img, ScrollViewerContainer.VerticalOffset);
Canvas.SetZIndex(img, 5);
}
我读过这可能是因为高亮显示没有出现在可视化树中,但我真的不确定。
顺便说一下,当我尝试更改颜色的不透明度时 (attributes.Color = Color.FromArgb(128, 255, 0, 0)
),inkcanvas 不应用 alpha , 为什么 ?我错过了什么吗?
最佳答案
您不能将 DrawAsHighlighter 墨迹保存为 .png 等位图格式 - 从根本上说,这不是一个值得尝试的有意义的操作。
常规的非荧光笔墨水是使用标准的 alpha 混合绘制的,因此将这些墨水形状写入位图格式是合理的。稍后您可以将该位图混合到其他一些背景图像上,并获得与直接在该背景上绘制墨水一样的结果。
然而,对于荧光笔墨水,“混合背景”是一个更复杂的操作,而不仅仅是标准的来源混合。因此,不存在仅包含这种墨水的位图图像之类的东西 - 您还必须提供背景以便执行适当的混合。
这里有三个选项:
关于c# - win2D uwp 不会在 inkcanvas 中保存高亮笔画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36397638/
我正在开发一个基于fabricjs 的图表工具。我们的工具有我们自己的形状集合,它是基于 svg 的。我的问题是当我缩放对象时,边框(描边)也会缩放。我的问题是:如何缩放对象但保持笔触宽度固定。请检查
我在 Canvas 上画线时遇到一点问题, 基本上我希望线条漂亮、柔软且半不透明,但 Canvas 似乎只想对最后渲染的线段执行此操作。 看看这里,您会看到最后绘制的线段很好,而且..我想要它)但是随
也许这是一个错误,但请检查一下。 https://codepen.io/Firsh/pen/LegGQq /* Only these work:*/ /* symbol{ overflow: visi
我已经在终端中启动了一个 python 脚本(该终端已关闭)并将其发送到后台。现在这个程序需要一些来自键盘的输入并一直等待。如何将输入“y\n”(字母“y”后跟一个 Enter)发送到该程序?假设它的
我想实现这样的效果: 有人知道如何在 Canvas 上画这样一条线吗? 最佳答案 再靠近一点: chalkPaint = new Paint(); chalkPaint.setStyl
我建立了一个very simple Twitter Instant Search为了好玩,使用 jQuery 和 PHP。我将一个事件绑定(bind)到搜索表单上的 keyup,并对 PHP 页面进行
使用通用 Windows 平台 (UWP) 使用 InkCanvas 控件 我似乎无法确定在使用 InkCanvas 时删除墨迹笔划的正确方法 - 有一个可以处理的事件“StrokeErased”。
我是一名优秀的程序员,十分优秀!