skiasharp

Loading a font in skiasharp

余生长醉 提交于 2021-02-04 19:14:10
问题 How to use a custom font in skiasharp from Xamarin forms. I tried paint.Typeface = SKTypeface.FromFamilyName("CoText_Bd"); and paint.Typeface = SKTypeface.FromFile("CoText_Bd"); But both didn't worked out. Do i need to access the path of the font using dependency service ? 回答1: If you want trully multiplatform solution, put all SkiaSharp/PaintCode drawing Code into .NET standard library, including fonts as embedded resource (Don't forget to set Build action to Embedded resource!). Then you

Rotate photo with SkiaSharp

强颜欢笑 提交于 2021-02-04 15:33:42
问题 I'm trying to rotate photo with SkiaSharp to 90 degrees with following code: public SKBitmap Rotate() { var bitmap = SKBitmap.Decode("test.jpg"); using (var surface = new SKCanvas(bitmap)) { surface.RotateDegrees(90, bitmap.Width / 2, bitmap.Height / 2); surface.DrawBitmap(bitmap.Copy(), 0, 0); } return bitmap; } But when I save bitmap to JPEG file, it has margins both on top and bottom of image. Original image: http://imgur.com/pGAuko8. Rotated image: http://imgur.com/bYxpmI7. What am I

[Hei.Captcha] Asp.Net Core 跨平台验证码实现

六月ゝ 毕业季﹏ 提交于 2020-10-24 07:55:31
写在前面 说起来比较丢脸。我们有个手机的验证码发送逻辑需要使用验证码,这块本来项目里面就有验证码绘制逻辑,.Net Framework的,使用的包是 System.Drawing ,我把这验证码绘制逻辑复制到.Net Core的新项目引用对比包 System.Drawing.Common ,windows下面验证码正常,CentOs下面死活不能正常,像这样: (左边为CentOs运行结果,右为Windows) 依赖库检查安装; 字体检查安装; 逻辑检查; 折腾了一天多放弃了,决定重新写。 我看了市面上的各种验证码,使用第三方的,免费的都有很多限制,并随时有可能开始收费(用户量上去后就收费,俗称“养猪”); 有些比较大平台的已经开始收费或者即将收费(无可厚非,不点名); 视野有限,没有都一一了解到,如果有免费的,限制又比较少的,使用体验不错的第三方验证码,欢迎留言~~ 综上,我决定自己绘制 选择图片绘制库 GitHub上面我看到比较多星的是: SixLabors / ImageSharp dlemstra / Magick.NET mono / SkiaSharp 综合考虑后选择了:ImageSharp 官方文档:https://sixlabors.github.io/docs/ 成果 Hei.Captcha 一个.net core,跨平台的验证码生成工具包,基于ImageSharp

一款模仿虚幻蓝图的net组件

别等时光非礼了梦想. 提交于 2020-08-14 05:26:02
先看效果图 初衷呢是想搞一个机器学习的可视化展示,做着做着发现可以做通用的可视化蓝图组件,既可以做思维导图,脑图,一些结构,也可以像虚幻引擎和unity动画引擎一样,配合游戏编辑器做成可视化脚本生成,为此专门设计了自由度极高的架构,上面的每段线条,每个节点,节点标题颜色内容,节点互相通信,动态唤醒,既可以做成静态展示,也可以做成实时运算,例如每个节点像跑马灯一样动态展示。不过这个要自己扩展,这是功能上的一些东西。 下面呢说下整个原理,这个蓝图组件我使用了skia的net跨平台封装skiasharp,为什么要用skia呢,这个其实和我前段时间研究cef内核确定的,因为cef底层绘图使用的是skia,又跨平台性能又高,绘制方面使用了DirectUI概念的绘制,基本上作者换个蓝图组件就相当于开发了一套DirectUI界面库,只不过相对于一款界面库来说完成度不是太高,只完成了界面引擎的核心调度绘制,缺少了,比如按钮Button ListBox 等等常用组件,然后核心写完,优化了绘制通知,鼠标交互的部分节点会重新通知计算绘制,这样的话性能会提升,还一个就是加入了脏矩形的绘制检测通知,也就是更细粒度控制哪些需要计算哪些需要绘制何时绘制等等,基本上就没什么了 再放几张gif看看 来源: oschina 链接: https://my.oschina.net/KFS/blog/4406712

Draw spline(smooth path) with SkiaSharp lib on Xamarin.Forms?

你说的曾经没有我的故事 提交于 2020-06-26 06:24:39
问题 I'm making app with using Xamarin forms. I want to draw a smooth path (spline) with SKPath, but I am unable to find a simple way to achieve this. Skiasharp does not support it currently unless I make path smoothly myself. Thanks. 回答1: SkiaSharp supports cubic Bezier curves. So, what you can do, is divide the spline into segments (points determine segment endpoints), and draw each segment using a cubic Bezier curve. To do this, you need to introduce two control points between each point in

SkiaSharp drawText中文乱码问题

旧巷老猫 提交于 2020-04-27 14:07:53
var fontManager = SKFontManager.Default; var emojiTypeface = fontManager.MatchCharacter('时' ); var textPaint = new SKPaint(){ Color = Option.TipTextColor.ToSKColor(), TextSize = fontSize * fontSizeScale, Typeface = emojiTypeface }; 这样可以解决中文乱码 来源: oschina 链接: https://my.oschina.net/u/4415254/blog/4255118

.net core 的图片处理及二维码的生成及解析

不打扰是莪最后的温柔 提交于 2020-04-18 04:54:45
写代码这事,掐指算来已经十有余年。 从html到css到javascript到vbscript到c#,从兴趣到职业,生活总是失落与惊喜并存。 绝大部分时候,出发并不是因为知道该到哪里去,只是知道不能再逗留下去了,如此而已。受过风吹雨打之后会有很多独有的感受及思考,主见开始生发并在摇摆中坚定,想来这就是成长了,嗯……就算是成长吧,呵呵! 话说微软的 .net core 3.0 即将发布了,作为一个码农,还是要关心一下的。从 .net core 2.0 及MySql官方开始支持 .net core 起,我尝试将自己的类库转成 .net standard 类库,开始了解 .net core 的成熟度,写了几个 demo ,之后就放弃了,因为我做的项目还是以web(asp.net core)为主,但是 .net core 对图片的处理是空白的,System.Drawing只是一个摆设(估计以后也是一样),即便是有很多人推崇的 ImageSharp 也因为接口变化过大且缺少文档在稍作尝试之后放弃了,我想,在 .net core 下应该还没有一个成熟的图片处理类库,还不足以迁移项目。如果按微软官方的意思要搞一个独立的图片处理应用来进行图片处理,那 asp.net core 只是作为一个简单的数据接口来用,这就很值得权衡一下了,毕竟中小型项目要去搞一个专门的图片处理应用是得不偿失的

How to draw PDF on canvas using skia sharp?

妖精的绣舞 提交于 2020-01-25 04:17:10
问题 I have referred official document of skia: https://docs.microsoft.com/en-us/dotnet/api/skiasharp.skcanvas?view=skiasharp-1.68.1#constructing-a-pdf-document // create the document var stream = SKFileWStream.OpenStream("document.pdf"); var document = SKDocument.CreatePdf(stream); // get the canvas from the page var canvas = document.BeginPage(256, 256); // draw on the canvas ... // end the page and document document.EndPage(); document.Close(); As per the above code I'm getting canvas, but how