Skip to content

Latest commit

 

History

History
309 lines (205 loc) · 8.5 KB

README-zh.md

File metadata and controls

309 lines (205 loc) · 8.5 KB

English

QtSkia

github原始仓库 https://github.com/QtSkia/QtSkia

gitee镜像 https://gitee.com/QtSkia/QtSkia

目录

简介

Skia

Skia是一个开源的二维图形库,提供各种常用的API,并可在多种软硬件平台上运行。

谷歌Chrome浏览器、Chrome OS、Fuchsia、安卓、Flutter、火狐浏览器、火狐操作系统以及其它许多产品都使用它作为图形引擎。

Skia由谷歌出资管理,任何人都可基于BSD免费软件许可证使用Skia。

Skia开发团队致力于开发其核心部分, 并广泛采纳各方对于Skia的开源贡献。

QtSkia

QtSkia是在Qt框架中集成skia,实现的二维图形库。

QtSkia提供了QWidget、QOpenGLWidget、QQuickWindow、QQuickItem等常用Qt渲染组件与skia的对接,

可以方便地将skia引入到现有Qt项目中。

CI徽章

Windows MacOS Ubuntu Android IOS
win-badge macos-badge ubuntu-badge android-badge ios-badge
License Release Download Issues Wiki
license-badge release-badge download-badge issues-badge wiki-badge

特性展示

几何形状

贝塞尔曲线

平移和旋转

文字渲染

离散路径特效

合成路径特效

叠加路径特效

着色器

QtSkia使用示例

使用示例

计划与进度

  • 代码镜像
  • skia源码镜像
  • 依赖库源码镜像
  • 自动化同步上游代码
  • 本地自动拉取脚本
  • 编译与CI
  • 制定Qt编译流程
  • Windows平台自动编译
  • MacOS平台自动编译
  • Linux平台自动编译
  • Android平台自动编译
  • 效果
  • 简单画线、文字
  • Skia内置特效
  • 贴图,支持常见图片格式
  • Lottie绘制
  • Qt框架适配
  1. Gui模块
  • QOpenGLWindow
  • QWindow
  • QVulkanWindow
  1. Widget模块
  • QWidget CPURaster
  • QOpenGLWidget
  1. Quick模块
  • QOuickWindow
  • QQuickItem
  • QQuickFrameBuffer
  1. Qt6 RHI支持
  • 待补充
  • 性能测试对比
  • 基本图形大规模绘制
  • 动画
  • 待补充

Build

依赖环境

python 2

Qt 5.12.x 64-bit

注意:32bit/x86架构,只能使用google提供的工具链,QtSkia未做支持, 具体请参考skia官网:https://skia.org/user/build

windows

编译器需要使用vs2017及以上,有clang-cl更好。

MacOS

待补充

Android

待补充

Linux

待补充

源码下载

  1. 下载QtSkia
git clone https://github.com/QtSkia/QtSkia.git

国内用户可以使用gitee同步镜像,速度更快。

git clone https://gitee.com/QtSkia/QtSkia.git
  1. 下载skia及依赖库

执行QtSkia根目录的syncSkia脚本,即可自动从github下载所有依赖项。

(国内用户也可以使用syncSkia-gitee脚本代替, 从gitee下载同步镜像,速度更快。)

Windows环境双击运行syncSkia.bat, 或者命令行:

cd QtSkia
syncSkia.bat

MacOS 或 linux环境, 命令行执行脚本

cd QtSkia
chmod a+x syncSkia.sh
./syncSkia.sh

skia及依赖库的说明

skia官方仓库在 https://skia.googlesource.com/skia

github上面也有官方的镜像 https://github.com/google/skia

skia的依赖库将近30个。

QtSkia在github、gitee提供了全部的同步镜像仓库,详情见:

https://github.com/QtSkia

https://gitee.com/QtSkia

QtSkia提供的仓库,会使用自动化工具定期同步google上游仓库。

QtSkia不修改skia及依赖库的源码,仅使其增加github、gitee镜像支持和必要的编译器支持。

编译

使用QtCreator导入QtSkia.pro,或者使用Qt命令行

qmake 
make

代码结构

目录 用途
3rdparty 第三方库,skia
doc 文档
examples 一些用例
QtSkia QtSkia库
skiaBuild Qt编译skia
tests 单元测试、性能测试

赞助

为众人抱薪者, 不可使其冻毙于风雪。

如果您觉得这个项目还不错,请打赏一下作者。

联系作者

- -
作者 武威的涛哥
博客 https://jaredtao.github.io/
博客-gitee镜像 https://jaredtao.gitee.io
知乎专栏 https://zhuanlan.zhihu.com/TaoQt
QQ群 734623697(高质量群,大佬多、不灌水)
邮箱 jared2020@163.com
微信 xsd2410421
QQ、TIM 759378563