问题标签 [skiasharp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2566 浏览

.net-core - 如何在 SkiaSharp 中将字节数组转换为 SKBitmap?

SKBitmap.Bytes 是只读的,关于如何 Marshal.Copy 字节数组到 SKBitmap 的任何建议?我正在使用下面的代码片段,但它不起作用。

代码片段:

0 投票
1 回答
1628 浏览

c# - 将当前平台字体传递给 SKTypeface?

尝试呈现中文(或其他符号)文本时。SkiSharp 将呈现框而不是正确的中文字符。显然 Skia 默认使用的字体不支持这些字符。所以我们必须使用支持这些字符的字体来分配我们自己的 SKTypeface。

我最初的策略是简单地包含必要的字体来渲染这些字符,效果很好。但是,当使用自己的字体支持多种不同的符号语言时,应用程序的大小会急剧增加(每种字体大约 15 mb)。

所以多考虑一下……默认的平台字体似乎支持这些符号字符中的任何一个都很好。我的意思是,默认使用的字体可以完美地呈现按钮、标签和标题。

所以我目前的想法是,为什么我不能通过任何字体进入 SKTypeface 以供我控制?

问题是我不知道如何获取备用或默认字体以便用它创建新的 SKTypeface。

我的问题

如何使用渲染这些按钮、标签和标题的相同字体创建 SKTypeface?


注意:如果您需要我的任何东西来帮助您理解问题或解决问题,请告诉我。

0 投票
1 回答
1036 浏览

xamarin.forms - 画布中的 DrawText (SkiaSharp):文本不显示

我的问题是:文本不显示在画布上

如果我不使用“使用块”或“处置”,它就像一个魅力。

但是如果我这样做了,在它到达 canvas.DrawText 之前,_paint 不会为空,但 FontMetrics、FontSpacing 或 TextSize 中的所有值都等于 0。

然后画布上没有文字。

我很困惑,请你给我一些建议好吗?

谢谢你。

0 投票
1 回答
751 浏览

glsl - 使用 SkiaSharp 自定义片段着色器

我正在评估 SkiaSharp 是否可以在允许在照片上渲染一些矢量元素的项目中使用。SkiaSharp 看起来非常适合渲染矢量元素,但我也想对图像应用变换——例如对比度或曝光等色调曲线调整。

理想的情况是在渲染包含图像的矩形时执行自定义 GLSL 片段着色器代码(例如,仅包装 GLSL 代码的 SKColorFilter 子类,在调用 DrawBitmap 时应用,或类似的)。

将我现有的 GLSL 代码渲染到纹理,然后让 SkiaSharp 使用该纹理作为其内容绘制一个矩形,这也可能会起作用。但是,如果没有 GPU 回读,我看不到这样做的方法,这感觉起来会非常慢。

这里最好的方法是什么?更准确地说:或者,我如何在 GPU 上,在 SkiaSharp 中对图像的像素数据应用转换,或者,我还能使用什么来提供类似 SkiaSharp 的矢量渲染基元,并且还允许类似 GLSL 片段着色器的像素转换?

0 投票
1 回答
527 浏览

c# - skiasharp 中是否有 system.drawing.drawing2D.GraphicsPath 的替代方法?

在 ASP .NET 核心框架中,system.Drawing 不可用。所以我正在尝试使用skiasharp。那么在skiasharp 中是否有 system.drawing.drawing2D.GraphicsPath 的替代方法?

0 投票
1 回答
100 浏览

asp.net-core - 在skiasharp的skpath中Addline不可用

在核心平台中,我使用的是 SKPATH 而不是 GRAPHICSPATH(SYSTEM.DRAWING),但我无法在 SKPATH 中添加该行。`

是否有任何其他替代解决方案可以在 SKPATH 中添加该行。

谢谢,

0 投票
0 回答
882 浏览

xamarin - Xamarin SkiaSharp 滚动和捏合

我创建了一个使用SkiaSharp的简单应用程序。我已将SKCanvasView放在滚动视图中,以便可以滚动它。有人可以帮我找到有没有办法用手势缩放它?谢谢。

0 投票
1 回答
3403 浏览

c# - 缩放 SKImage 的最快方法 (SkiaSharp)

我正在寻找调整 SKImage 大小的最快方法。不幸的是,我找到了一些例子。

我问这个是因为如果我并行执行这些函数(在我的例子中大约 60 个线程),每个单个缩放函数的执行时间会增加多达 20 倍。

我尝试了以下方法,性能看起来非常相似,有什么更好的吗?

方法一:

方法二:

0 投票
1 回答
1082 浏览

android - 如何将 SKCanvasView 与同一页面中的其他视图结合起来?

我正在尝试在项目的同一页面上显示 aSKCanvasView和其他视图,如ListViewor 。LabelXamarin FormAndroid

我的 Xaml 代码:

部署应用程序时它不显示任何内容。Label并且SKCanvasView被隐藏或类似的东西。

我也试过不使用StackLayout,结果相同:(

0 投票
1 回答
733 浏览

xamarin.forms - 管理 .net 标准 xamarin 表单项目的 nuget 包

我正在将 xamarin 表单 pcl 转换为 .net 标准。在项目中,我使用skia sharp 和azure 移动服务。

我的理解是,如果我在 .net 标准类库中引用这些库,然后在我的 android/ios/uwp 项目中添加对这个 .net 标准类库的引用,一切都会好起来的。

但是,似乎我需要为每个项目(android/ios/uwp)添加用于skiasharp和azure mobileservices的nuget包。真的是这样吗?如果是这样,这比使用 PCL 更好吗?

我得到了 android 项目的工作,但我需要将所有 nuget 包添加到 android 项目中。我让 uwp 项目在没有任何 nuget 包的情况下工作,这让我更加困惑。