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

全屏网站帮助温州敎玩具网站建设

全屏网站帮助,温州敎玩具网站建设,海事网站开发,沈阳网站制作企业Compose Canvas基础#xff08;2#xff09;图形转换 前言平移 translate缩放 scale旋转 rotate自定义绘图区域及绘制内边距inset组合转换 withTransform完整代码总结 上一篇文章 Compose Canvas基础#xff08;1#xff09; 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://www.tj-hxxt.cn/news/138955.html

相关文章:

  • 贵阳做网站设计网站 多少篇文章才能上线
  • 全网营销型网站建站专家网易企业邮箱小程序
  • 做一个商城网站怎么办?
  • 网站开发时遇不到算法七牛云招聘
  • wordpress整站模板外贸网站推广建设
  • 网站注册局德国网站的后缀名
  • 公司网站域名实名认证怎么做专业网站制作公司是如何处理一个优秀网站的
  • 商城网站设计图王野摩托车官方网站
  • 建设局网站seo优化网站优化
  • 小说网站怎么建设的WordPress积分打赏插件制作
  • 来一个网站谢谢了免费游戏不用登录大全
  • 西安好玩的地方有哪些郑州seo推广外包
  • 大连建站平台太原网站建设技术托管
  • 湖北襄阳网站建设网站建设的介绍
  • 太原谁家网站做的好dede做购物网站
  • 西安网站建设方案优化wordpress博客付费
  • 西部数码域名网站模板做网站购买什么
  • 河南省建设注册中心网站南昌seo网站开发
  • 延吉手机网站建设开发网站如何运营维护
  • 网站自动推广软件免费公司网站备案怎么做
  • 怎么往公司网站添加有园林案例的网站
  • 做网站月收入网站开发用什么字体
  • 常州发布信息的有什么网站网络营销作业策划方案
  • wordpress建站不好用wordpress怎么设置
  • 能打开的a站广东网站设计哪家好
  • 注册网站会员有风险吗app免费软件
  • 如何建立一个带论坛的网站安徽住房和城乡建设厅官网
  • 门户网站栏目维护建设方案衡阳seo外包
  • wordpress站长工作什么专业学网页设计制作
  • 谷歌怎么做公司网站如何解析后用二级域名做网站