一个Object对象,使用[createPattern]方法创建,通过指定图像和重复方式创建图片填充的模板。

说明

从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

方法

setTransform

setTransform(transform?: Matrix2D): void

使用Matrix2D对象作为参数、对当前CanvasPattern进行矩阵变换。

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
transform [Matrix2D] 转换矩阵。默认值:null。

示例:

// xxx.ets
@Entry
@Component
struct CanvasPatternPage {
  private settings: RenderingContextSettings = new RenderingContextSettings(true)
  private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)
  private matrix: Matrix2D = new Matrix2D()
  private img: ImageBitmap = new ImageBitmap("common/pattern.jpg")
  private pattern : CanvasPattern | null = null

  build() {
      Column() {
        Button("Click to set transform")
          .onClick(() => {
            this.matrix.scaleY = 1
            this.matrix.scaleX = 1
            this.matrix.translateX = 50
            this.matrix.translateY = 200
            if (this.pattern) {
              this.pattern.setTransform(this.matrix)
            }
            this.context.fillRect(0, 0, 480, 720)
          })
          .width("45%")
          .margin("5px")
        Canvas(this.context)
          .width('100%')
          .height('80%')
          .backgroundColor('#FFFFFF')
          .onReady(() => {
            this.pattern = this.context.createPattern(this.img, 'no-repeat')
            this.matrix.scaleY = 0.5
            this.matrix.scaleX = 0.5
            this.matrix.translateX = 50
            this.matrix.translateY = 50
            if (this.pattern) {
              this.context.fillStyle = this.pattern
              this.pattern.setTransform(this.matrix)
            }
            this.context.fillRect(0, 0, 480, 720)
          })
      }
      .width('100%')
      .height('100%')
  }
}

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

据悉,目前已有超过5000款应用启动了原生鸿蒙开发,而华为设定的目标是支持50万+应用。这一目标的实现,将直接催生百万级的人才缺口,为市场带来超过300万个潜在新就业岗位。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

避免浪费时间!!新入门的人在学习鸿蒙的过程,通常会在网上搜索资料;但几乎都是七零八碎比较杂乱,而官网的文档比较笼统。这无疑增加了时间成本。对此录制了一套鸿蒙基础进阶视频(HarmonyOS NEXT)开发入门&实战教学视频200集+

鸿蒙 (HarmonyOS NEXT)开发入门&实战教学视频←嗱娶

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

另外还根据鸿蒙官方发布的文档结合华为内部人员分享,经过反复修改整理得出的一整套鸿蒙南北向(HarmonyOS NEXT)学习手册共计3000页+)想要进阶鸿蒙的开发者有福了!

内容包含了:(ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。帮助大家在学习鸿蒙路上少走弯路!

鸿蒙 (HarmonyOS NEXT)南北向开发基础与实战手册←嗱娶
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

华为鸿蒙——作为新“红海”的技术方向,一个正处在高速发展前期的技术领域,时间来到今年6月,在华为HDC 2024中;全栈自研鸿蒙NEXT(Beta内测)登场,到如今8月的(Beta3版)全面开放。真正做到了那四个字“遥遥领先”!

鸿蒙作为新技术,目前懂的人很少;像这样的领域,往往需求大,但符合需求的技术人才却少,供小于求,自然竞争没有那么激烈。且会有更优厚的薪酬。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐