当前位置: 首页 > wzjs >正文

电商网站建设定制库尔勒市建设路街道办网站

电商网站建设定制,库尔勒市建设路街道办网站,个人博客网站开发,福田欧辉是国企吗前言 本文基于Api13 系统的组件无法满足我们的需求,这种情况下就不得不自己自定义组件,除了自定义组合组件,拓展组件,还有一种方式,那就是完全的自绘制组件,这种情况,常见的场景有,比…

前言

本文基于Api13

系统的组件无法满足我们的需求,这种情况下就不得不自己自定义组件,除了自定义组合组件,拓展组件,还有一种方式,那就是完全的自绘制组件,这种情况,常见的场景有,比如金融软件中的股票行情图,基金折线图,当然了也有其它的需要高度绘制的地方,鸿蒙开发中,和其它的语言类似,都是采用Canvas画布进行绘制,但是绘制的方式更趋向于Web前端中的方式。

Canvas是一个画布,并不能提供绘制的能力,但是它作为一个载体,承担了绘制的容器,目前实现绘制,提供了有两个对象,一个是DrawingRenderingContext,另一个是CanvasRenderingContext2D,本篇文章,暂不涉及概述这两个对象,我们先来了解一下绘制的基础知识。

Canvas对象,在Api12之后,增加了一个可以AI分析选项参数ImageAIOptions,通过此项可配置分析类型或绑定一个分析控制器。

(context: CanvasRenderingContext2D | DrawingRenderingContext, imageAIOptions: ImageAIOptions): CanvasAttribute;

当然,也有一个支持AI分析的属性enableAnalyzer,不过需要搭配CanvasRenderingContext2D中的StartImageAnalyzer和StopImageAnalyzer一起使用。

绘制要求

在绘制之前,我们需要注意,必须等待Canvas组件初始化完成时,也就是在onReady方法中进行绘制。

先来一个简单案例,绘制一个半径为100的圆。

@Entry
@Component
struct DemoPage {private context: DrawingRenderingContext = new DrawingRenderingContext()build() {Canvas(this.context).width("100%").height("100%").onReady(() => {this.context.canvas.drawCircle(200, 200, 100)this.context.invalidate()})}
}

运行后,可以看到效果如下,默认是黑色。

 

DrawingRenderingContext介绍

DrawingRenderingContext是一个用于绘制的工具,它可以在Canvas画布组件上进行自由的绘制,比如矩形、文本、图片等等,有一个默认参数LengthMetricsUnit,主要是设置长度属性单位,有两个值可以选择,DEFAULT和PX,前者用于描述以默认的vp像素单位为单位的长度,后者用于描述以px像素单位为单位的长度。

有三个属性或方法可供选择,参数如下:

名称

类型

说明

size

Size

Context大小的宽和高。

canvas

Canvas

绘制模块的Canvas对象,具体描述见绘制模块中的Canvas对象。

invalidate

无参

使组件无效,触发组件的重新渲染。

CanvasRenderingContext2D介绍

CanvasRenderingContext2D和DrawingRenderingContext一样,都是一个绘制工具,都可以进行绘制一些常见的矩形、文本、图片等,和DrawingRenderingContext不同的是,它的属性更加丰富,而且兼容其自身所带的功能,所以,在绘制元素上,推荐使用CanvasRenderingContext2D。

RenderingContextSettings参数主要用来配置CanvasRenderingContext2D对象的参数。

constructor(settings?: RenderingContextSettings);

Api12之后新增了一个参数LengthMetricsUnit,主要用来用来配置CanvasRenderingContext2D对象的单位模式。

constructor(settings?: RenderingContextSettings, unit?: LengthMetricsUnit);

使用CanvasRenderingContext2D简单绘制一个矩形:

@Entry
@Component
struct DemoPage {private settings: RenderingContextSettings = new RenderingContextSettings(true)private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings)build() {Canvas(this.context).width('100%').height('100%').onReady(() => {this.context.fillRect(0, 0, 100, 100)})}
}

相关总结

本文主要简单的概述了Canvas绘制的基础知识,大家作为一个简单的了解即可,下面的几篇文章,我们会对相关的绘制再做进一步的分析,首先可以先做一个简单的总结:DrawingRenderingContext在使用上远远没有CanvasRenderingContext2D使用起来方便,比如在修改画笔的粗细,颜色等属性上,就可以体现出来。


文章转载自:

http://qZywCTZv.zkpwk.cn
http://wFBdSzw4.zkpwk.cn
http://xRLta7w1.zkpwk.cn
http://8kW0G8J0.zkpwk.cn
http://krPtN5Ny.zkpwk.cn
http://3Cuvu1Vy.zkpwk.cn
http://tos4BJFD.zkpwk.cn
http://lIW34pOs.zkpwk.cn
http://PaZivXpu.zkpwk.cn
http://q759JBRE.zkpwk.cn
http://1ur5lGYN.zkpwk.cn
http://8eM1vqnN.zkpwk.cn
http://csVjrhfk.zkpwk.cn
http://llmDAY4K.zkpwk.cn
http://ZMviqzPa.zkpwk.cn
http://hvKNcJtE.zkpwk.cn
http://TIH2TPqv.zkpwk.cn
http://VptLcL5P.zkpwk.cn
http://9WtB8PwR.zkpwk.cn
http://Jb2FfbcI.zkpwk.cn
http://gVZtH9CF.zkpwk.cn
http://syX5JjNh.zkpwk.cn
http://8gut4OyJ.zkpwk.cn
http://rQ3pweL6.zkpwk.cn
http://nJGy3bOd.zkpwk.cn
http://yRYkRHJe.zkpwk.cn
http://hdZMR8nQ.zkpwk.cn
http://qTr3iobf.zkpwk.cn
http://PF03u9Oz.zkpwk.cn
http://PpWGkE22.zkpwk.cn
http://www.dtcms.com/wzjs/727264.html

相关文章:

  • 学做蛋糕哪个网站好大连建站模板厂家
  • thinkphp做网站蒙阴哪有做淘宝网站的
  • 做网站如何使用网页插件学校网站三合一建设方案
  • 网站建设推进计划做网站一共需要多少钱
  • 企业网站建设建设西安微信网站制作
  • 建网站哪家划算wordpress 自定义登录
  • 临沂建站公司商城app源码
  • 山东饰品行业网站开发在哪个网站上做苗木生意好些
  • 企业网站建设公司多米怎么建立网站?
  • 网站网站建设大连建设学院网站
  • 电脑做网站服务器需要什么软件网站购买空间多少钱
  • 免费自助建站自助建站平台快速建网站
  • 湖北建设厅政务网站做爰网站下载地址
  • 建立网站目录的时候wordpress安装知更鸟主题
  • 佛山网站设计师成都建设网站专业
  • wordpress网站域名解析蓝天网站建设
  • 网站搭建设计范文网站建设及推广外包
  • 漳州网站制作晚上奖励自己的网站推荐
  • 营销网站特点湖北响应式网站建设
  • 古典网站建设欣赏买购网十大品牌网
  • dw网站开发天津微信网站建设
  • 云网站个人做电子商务网站
  • 工业设计网站有那些wordpress手机动漫主题
  • 怎么做优化网站排名app开发要多少钱
  • 宁波外贸公司网站建设wordpress还是phpcms
  • 泰安祥奕网络网站建设模板织梦网站安装
  • 有关图书网站建设策划书曰本做爰l网站
  • 汽车设计网站wordpress视频站
  • discuz做服务网站公司网站 建设
  • vue做的网站模板营销型网站建设需要懂什么