C类++C++17学习C++

如何在C++Builder 12中使用Skia?

如何在C++Builder中使用Skia 12

最新的RAD Studio/C++Builder 12在C++和整个IDE中提供了完全集成的Skia图形库支持。Skia是一个开源图形库,为各种硬件和软件平台提供支持。Skia由谷歌赞助和管理,但根据BSD自由软件许可证,任何人都可以使用。Skia提供平滑的2D图形,可以有效地使用GPU。在这篇文章中,我们解释了如何在C++Builder中使用Skia。

什么是现代C++中的Skia?

如何在C++Builder中使用Skia 12

斯基亚是一个开源图形库,提供对各种硬件和软件平台的支持。Skia由谷歌赞助和管理,但根据BSD自由软件许可证,任何人都可以使用。主要为谷歌Chrome和ChromeOS、Android、Flutter、Mozilla Firefox和Firefox OS以及许多其他产品设计。核心组件由Skia开发团队完成,但他们考虑来自任何来源的贡献。

如何在C++Builder 12项目代码中使用Skia?

首先,您需要C++Builder 12.1,或者需要在C++Builder 11.x上安装Skia4Delphi组件。Skia是RAD Studio/C++Builder 121的一个新的2D渲染功能。它随Skia一起提供。包裹。FMX,滑雪。包裹。RTL、Skia。包裹。VCL。正式打包库。

如果您想在C++Builder应用程序中使用Skia,则需要下载最新的RAD Studio/C++Builder。然后创建一个新的C++Builder FMX应用程序或VCL应用程序,或者打开您的项目,您只需要在C++Builder的project窗口中右键单击您的项目即可启用Skia。您不需要安装任何第三方组件,在RAD Studio 12.1版本之后,它完全包含在内置库中。

如何在C++Builder中使用Skia 12

除了如上所述启用Skia外,建议添加FMX公司。滑雪.hpp标题到您的项目.cpp如下所示。

建议设置为trueGlobalUseSkia公司,GlobalUseVulkan公司并设置为false可用时全局使用SkiaRaster您的旗帜项目.cpp就像这样:

在C++Builder 12中有一个简单的Skia示例吗?

现在,我们可以回到我们的表单来使用Skia图形。让我们使用它惊人的着色器功能来创建渐变背景。为此,请遵循以下步骤。

1.从托盘窗口拖动TSkPainBox组件

如何在C++Builder中使用Skia 12

2.选择SkPainBox1,在左侧的Object Inspector中,转到Events选项卡,双击OnDraw()事件,

如何在C++Builder中使用Skia 12

这将在头中声明的代码中创建OnDraw()事件过程。

3.按照下面的示例修改内部,

更安全的是,对于任何图形问题,我们都可以保存画布状态,并且可以使用尝试{}__最后{}如下所示。

然后运行应用程序,结果如下:

如何在C++Builder中使用Skia 12

有在C++Builder 12中如何使用Skia的完整示例吗?

下面是这个简单Skia示例的完整代码,该示例使用GPU的Shaders绘制渐变。非常简单,令人惊叹!

如果您想查看更多示例,请安装最新的RAD工作室/C++Builder 12.1完整版或试用版,并在Samples文件夹中检查此示例:
C: \Users\Public\Documents\Embarcadero\Studio\23.0\Samples\CPP\Multi-Device Samples\Skia4Delphi项目。它有许多运行不同Skia图形示例的示例。

如何在C++Builder 12 C++徽标中使用Skia

C++生成器是在Windows操作系统上构建简单或专业应用程序的最简单、最快的C和C++编译器和IDE。对于初学者来说,它也很容易学习,它有广泛的示例、教程、帮助文件和对代码的LSP支持。RAD Studio的C++Builder版本为高性能原生Windows应用程序提供了屡获殊荣的VCL框架,并为UI提供了功能强大的FireMonkey(FMX)框架。

有一个免费的C++Builder社区版,面向学生、初学者和初创公司;可以从以下网址下载在这里。对于专业开发人员,有专业版、架构师版或企业版的C++Builder,也有试用版可从下载在这里.

哦,你好👋
很高兴见到你。

注册后,每天都可以在收件箱中接收很棒的C++内容。

我们不发垃圾邮件!阅读我们的隐私政策了解更多信息。


使用RAD Studio、Delphi或C++Builder缩短开发时间并更快地推向市场。
设计。代码。编译。部署。
开始免费试用

免费C++Builder社区版

关于作者

Yilmaz Yoru博士有35年以上的编码经验,使用了30多种编程语言,主要是Windows、Android、Mac-OS、iOS、Linux和其他一些操作系统上的C++。他毕业于Eskisehir Osmangazi大学机械工程系,并获得硕士和博士学位。他是ESENJA LLC公司的创始人兼首席执行官。他的兴趣是编程、热力学、流体力学、人工智能、2D和3D设计以及高端创新。
相关职位
C类++C++11语言C++14语言C++17C++20语言C简介++学习C++

如何学习现代C++中的Move构造函数?

C类++C++17代码段学习C++

如何在C++中将字符数组字符串正确转换为Unicode字符串?

人工智能技术C类++语言功能学习C++

如何用C语言开发简单的Hopfield网络++

C类++C++11语言C++14语言C++17C++20语言C简介++学习C++语法

学习现代C语言中类的默认构造函数++