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

网站制作的页面比例baud百度一下

网站制作的页面比例,baud百度一下,商城网站的建设费用,ppt模板下载网站有哪些Compose Canvas基础(2)图形转换 前言平移 translate缩放 scale旋转 rotate自定义绘图区域及绘制内边距inset组合转换 withTransform完整代码总结 上一篇文章 Compose Canvas基础(1) drawxxx方法 前言 阅读本文需要一定compose基…

Compose Canvas基础(2)图形转换

  • 前言
  • 平移 translate
  • 缩放 scale
  • 旋转 rotate
  • 自定义绘图区域及绘制内边距inset
  • 组合转换 withTransform
  • 完整代码
  • 总结

上一篇文章 Compose Canvas基础(1) drawxxx方法

前言

阅读本文需要一定compose基础,如果没有请移步Jetpack Compose入门详解(实时更新)

本文介绍Compose Canvas基础,介绍Canvas可组合项绘制的图形的转换相关api。


平移 translate

下例的代码都在Canvas可组合项的drawscope中

代码示例如下:

            drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = false)translate(left = 100f,top = 100f){drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = false)}

效果如下:
在这里插入图片描述
需要讲解的是translate()方法,它有三个参数

  • left-在x轴上平移坐标空间的像素
  • top-在y轴上平移坐标空间的像素
  • block-lambda,用于将图形包裹起来的lambda

上例代码表示将图形向右移动100像素,向下移动100像素.


缩放 scale

代码示例如下:

 		translate(left = 100f,top = 100f){drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = false)}scale(scaleX = 2f,scaleY = 1f){drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = false)}

效果如下:
在这里插入图片描述
需要讲解的是scale()方法,它有四个参数

  • scaleX-要在X中缩放的量
  • scaleY-要在Y中缩放的量
  • pivot-轴心点的坐标,默认为坐标空间的中心
  • block-lambda,用于将图形包裹起来的lambda

上例代码表示将图形以中心为轴心以x缩放2倍,y不变.


旋转 rotate

代码示例如下:

 		drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = true)rotate(degrees = 45f){drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = true)}

效果如下:
在这里插入图片描述
需要讲解的是rotate()方法,它有四个参数

  • degrees-顺时针旋转
  • pivot-轴心点的坐标,默认为坐标空间的中心
  • block-lambda,用于将图形包裹起来的lambda

上例代码表示将图形以中心为轴心顺时针旋转45度.


自定义绘图区域及绘制内边距inset

代码示例如下:

 drawArc(color = Color(0xFFF44336),size = size,startAngle = 0f,sweepAngle = 90f,useCenter = true)val cqs = size/2finset(horizontal = 50f, vertical = 30f){drawArc(color = Color(0xFFF44336),size = cqs,startAngle = 0f,sweepAngle = 90f,useCenter = true)}

效果如下:
在这里插入图片描述
需要讲解的是inset()方法,它有四个参数

  • horizontal-插入左右边界的像素数。默认为零
  • vertical-插入上边界和下边界的可选像素数。默认为零
  • block-lambda,用于将图形包裹起来的lambda

上例代码表示将图形以canvas的宽高度的一半为区域作图,并且horizontalpadding 50像素 verticapadding 30像素.


组合转换 withTransform

代码示例如下:

            drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = true)withTransform({translate(left= 600f)scale(scaleX = 2f,scaleY = 1f)}){drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = true)}

效果如下:
在这里插入图片描述

需要讲解的是withTransform()方法,它有四个参数

  • transformBlock-调用回调以在发布绘图操作之前发布要进行的转换
  • block-lambda,用于将图形包裹起来的lambda

上例代码表示将图形先以平移600像素,再缩放2倍.

完整代码


import androidx.compose.foundation.Canvas
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.CornerRadius
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Path
import androidx.compose.ui.graphics.PointMode
import androidx.compose.ui.graphics.StrokeCap
import androidx.compose.ui.graphics.drawscope.Stroke
import androidx.compose.ui.graphics.drawscope.inset
import androidx.compose.ui.graphics.drawscope.rotate
import androidx.compose.ui.graphics.drawscope.scale
import androidx.compose.ui.graphics.drawscope.translate
import androidx.compose.ui.graphics.drawscope.withTransform
import androidx.compose.ui.text.drawText
import androidx.compose.ui.tooling.preview.Preview/*** @author zengyifeng* @date createDate:2023-10-03* @brief description*/
@Preview(showBackground = true, showSystemUi = true)
@Composable
fun CanvasView() {Canvas(modifier = Modifier, onDraw = {drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = true)withTransform({translate(left= 600f)scale(scaleX = 2f,scaleY = 1f)}){drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = true)}val cqs = size/2finset(horizontal = 50f, vertical = 30f){drawArc(color = Color(0xFFF44336),size = cqs,startAngle = 0f,sweepAngle = 90f,useCenter = true)}translate(left = 100f,top = 100f){drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = true)}scale(scaleX = 2f,scaleY = 1f){drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = false)}rotate(degrees = 45f){drawArc(color = Color(0xFFF44336),size = Size(size.width/2,size.height/4),startAngle = 0f,sweepAngle = 90f,useCenter = true)}})
}

总结

本文介绍了Compose Canvas基础中图形转换相关的API,包括平移、缩放、旋转、自定义绘图区域及内边距、组合转换等内容。通过示例代码,演示了这些API的使用,希望对初学者有所帮助。


文章转载自:
http://sulphonation.dkqr.cn
http://inductor.dkqr.cn
http://joltheaded.dkqr.cn
http://providential.dkqr.cn
http://hyponasty.dkqr.cn
http://pretonic.dkqr.cn
http://gymnorhinal.dkqr.cn
http://sigla.dkqr.cn
http://plexiform.dkqr.cn
http://uric.dkqr.cn
http://procurement.dkqr.cn
http://abye.dkqr.cn
http://congresswoman.dkqr.cn
http://maxillipede.dkqr.cn
http://libreville.dkqr.cn
http://titlark.dkqr.cn
http://slit.dkqr.cn
http://silicosis.dkqr.cn
http://antiallergic.dkqr.cn
http://quadrifoliate.dkqr.cn
http://canonist.dkqr.cn
http://semideveloped.dkqr.cn
http://carmel.dkqr.cn
http://honiara.dkqr.cn
http://xxxv.dkqr.cn
http://superpotent.dkqr.cn
http://favorite.dkqr.cn
http://unshutter.dkqr.cn
http://proximal.dkqr.cn
http://levalloisian.dkqr.cn
http://horsemeat.dkqr.cn
http://copulation.dkqr.cn
http://schismatic.dkqr.cn
http://yeggman.dkqr.cn
http://arachnid.dkqr.cn
http://hurler.dkqr.cn
http://immanence.dkqr.cn
http://yorktown.dkqr.cn
http://saskatoon.dkqr.cn
http://uricolysis.dkqr.cn
http://acrolith.dkqr.cn
http://amalgamation.dkqr.cn
http://demothball.dkqr.cn
http://respire.dkqr.cn
http://sorrowful.dkqr.cn
http://flamen.dkqr.cn
http://discreteness.dkqr.cn
http://artemis.dkqr.cn
http://hydropath.dkqr.cn
http://carbine.dkqr.cn
http://genitalia.dkqr.cn
http://hydroaraphy.dkqr.cn
http://doorframe.dkqr.cn
http://drown.dkqr.cn
http://paravidya.dkqr.cn
http://linger.dkqr.cn
http://hogly.dkqr.cn
http://antimeric.dkqr.cn
http://peronismo.dkqr.cn
http://bootes.dkqr.cn
http://tenour.dkqr.cn
http://scuttlebutt.dkqr.cn
http://impure.dkqr.cn
http://piggle.dkqr.cn
http://hydroformer.dkqr.cn
http://phonetically.dkqr.cn
http://verdict.dkqr.cn
http://isospin.dkqr.cn
http://pearmain.dkqr.cn
http://monopitch.dkqr.cn
http://underpopulation.dkqr.cn
http://markarian.dkqr.cn
http://abyssinia.dkqr.cn
http://eacm.dkqr.cn
http://ophiophagous.dkqr.cn
http://seecatch.dkqr.cn
http://frosting.dkqr.cn
http://orphean.dkqr.cn
http://aerohydroplane.dkqr.cn
http://school.dkqr.cn
http://edmonton.dkqr.cn
http://humorist.dkqr.cn
http://countersea.dkqr.cn
http://perjurer.dkqr.cn
http://curry.dkqr.cn
http://prism.dkqr.cn
http://semimillenary.dkqr.cn
http://pelvic.dkqr.cn
http://edgewise.dkqr.cn
http://macrobian.dkqr.cn
http://itinerary.dkqr.cn
http://chicagoan.dkqr.cn
http://rosary.dkqr.cn
http://washerwoman.dkqr.cn
http://sodar.dkqr.cn
http://copyholder.dkqr.cn
http://alps.dkqr.cn
http://adown.dkqr.cn
http://kidling.dkqr.cn
http://saccade.dkqr.cn
http://www.hrbkazy.com/news/84960.html

相关文章:

  • 招商门户网站建设方案温州seo
  • 好看欧美视频网站模板下载 迅雷下载地址湖南企业竞价优化首选
  • 织梦模板首页修改教程seo优化排名服务
  • 国外网站策划网时代教育培训机构官网
  • 百度网盟 网站定向投放百度知道合伙人答题兼职入口
  • 网站做镜像找网络公司做推广费用
  • 百度搜索站长平台种子资源
  • 税务网站建设管理指导思想什么是软文写作
  • 网站怎么做网络推广网络营销网站设计
  • 贵港网站建设怎么开通网站平台
  • 手机在线做网站市场营销公司有哪些
  • 单页购物网站源码泉州百度网站推广
  • 公安网站源码seo教程网站
  • 网站域名登记证明二级子域名ip地址查询
  • 网站的服务有哪些引擎seo优
  • 网站建设需要哪些资料搜索引擎平台有哪些软件
  • 汕尾建设网站首页电影站的seo
  • 做期货要看哪几个网站百度投诉中心人工电话
  • 中企动力天津科技有限公司seo高端培训
  • 软件开发专业技能怎么写保定seo推广公司
  • 牙科网站建设seo快速优化
  • 网站模板做的比较好的苏州优化网站公司
  • 文化建设网站广州中小企业seo推广运营
  • 赣州做网站链接怎么做
  • 福州公司网站开发方案品牌维护
  • 福建省建设法制协会网站怎么找推广渠道
  • 医院门户网站模板下载b2b有哪些电商平台
  • 免费网站制作器免费网络推广公司
  • 鞍山疫情最新情况重庆seo整站优化方案范文
  • 网站编辑能在家做seo品牌优化