Skip to content

t-canvas-engine ​

CanvasEngine 画布引擎

t-canvas-engine 组件介绍 ​

t-canvas-engine 是一个基于 Canvas 的高性能渲染引擎组件,提供了丰富的绘制、手势和动画交互功能。组件封装了底层的 Canvas 操作,支持跨平台使用,适用于需要复杂绘制和交互的场景,如自定义图表、游戏、动画效果等。

t-canvas-engine 平台兼容 ​

HarmonyH5AndroidiOS小程序UTS
✅✅✅✅✅✅

t-canvas-engine 基础用法 ​

基础用法参考 demo/engine/engine.uvue,通过 initFinished 事件获取引擎实例进行操作。

vue
<template>
	<view class="p-15">
		<t-card class="mb-15"
				title="Canvas Engine 画布引擎"
				sub-title="自研canvas flex布局渲染引擎,支持复杂UI的高性能绘制,解决移动端DOM渲染性能问题"></t-card>

		<t-card class="mb-15">
			<view class="p-10">
				<text class="sfwb mb-10">功能特性</text>
				<view class="pl-10">
					<text class="mb-5">• 基于Canvas的高性能渲染</text>
					<text class="mb-5">• 支持Flex布局系统</text>
					<text class="mb-5">• 完整的事件系统</text>
					<text class="mb-5">• 组件化架构</text>
					<text class="mb-5">• 支持复杂UI绘制</text>
					<text class="mb-5">• 支持声明式写法</text>
					<text class="mb-5">• 支持模版字符串编译为canvas绘制代码</text>
				</view>
			</view>
		</t-card>

		<t-card class="mb-15">
			<view class="p-10">
				<text class="sfwb mb-10">使用参考</text>
				<text class="mb-8">t-canvas-engine 是一个底层渲染引擎,您可以参考以下组件的实现方式:</text>
				<view class="pl-10">
					<view class="fl fww mb-5">
						<text>• </text>
						<text class="c-blue">t-table</text>
						<text> - 表格组件(声明式写法)</text>
					</view>
					<view class="fl fww mb-5">
						<text>• </text>
						<text class="c-blue">t-color</text>
						<text> - 颜色选择器(模版字符串编译为canvas绘制代码)</text>
					</view>
					<view class="fl fww mb-5">
						<text>• </text>
						<text class="c-blue">t-slider-menu</text>
						<text> - 侧边菜单,复杂场景展示</text>
					</view>
					<view class="fl fww mb-5">
						<text>• </text>
						<text class="c-blue">t-calendar</text>
						<text> - 日历组件(展示无swiper纯canvas实现切换动画)</text>
					</view>
				</view>
			</view>
		</t-card>

		<t-card class="mb-15">
			<view class="p-10">
				<text class="sfwb mb-10">应用场景</text>
				<view class="pl-10">
					<text class="mb-5">• 复杂数据表格</text>
					<text class="mb-5">• 高性能列表</text>
					<text class="mb-5">• 自定义交互组件</text>
					<text class="mb-5">• 数据可视化</text>
					<text class="mb-5">• 游戏界面</text>
				</view>
			</view>
		</t-card>

		<t-card>
			<view class="p-10">
				<text class="sfwb mb-10">技术优势</text>
				<view class="pl-10">
					<text class="mb-5">• 解决移动端DOM渲染瓶颈</text>
					<text class="mb-5">• 支持大量元素的高效渲染</text>
					<text class="mb-5">• 统一的跨平台渲染效果</text>
					<text class="mb-5">• 灵活的组件扩展机制</text>
				</view>
			</view>
		</t-card>
	</view>
</template>

<script setup>

</script>

t-canvas-engine Props ​

属性名说明类型默认值
mode引擎模式string'uts'

t-canvas-engine Events ​

事件名说明回调参数
initFinished引擎初始化完成时触发,返回引擎实例TuiEngine
layoutComputed布局计算完成时触发ITuiElement, TuiEngine
touchstart触摸开始时触发TuiTouchEvent
touchend触摸结束时触发TuiTouchEvent
touchmove触摸移动时触发TuiTouchEvent
touchcancel触摸取消时触发TuiTouchEvent

t-canvas-engine Slots ​

插槽名说明
default默认插槽,用于在 Canvas 上添加额外的内容