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

苏州模板网站建站百度seo2022新算法更新

苏州模板网站建站,百度seo2022新算法更新,erp软件开发定制,电影网站如何做不侵权绘制的基本要素: onDraw(Canvas):是用来重写的 Canvas:实际执行绘制的 Paint:调整粗细和颜色等 坐标系:以屏幕左上角为原点,向右、向下为正向数值的坐标系 尺寸单位:在绘制过程中所有的尺寸单位都是px…

绘制的基本要素:

onDraw(Canvas):是用来重写的

Canvas:实际执行绘制的

Paint:调整粗细和颜色等

坐标系:以屏幕左上角为原点,向右、向下为正向数值的坐标系

尺寸单位:在绘制过程中所有的尺寸单位都是px,像素,在绘制阶段是直接跟屏幕打交道的

举例,我们画一条线

package com.example.viewtest.viewimport android.content.Context
import android.graphics.Canvas
import android.graphics.Paint
import android.util.AttributeSet
import android.view.Viewclass TestView(context: Context, attrs: AttributeSet) : View(context, attrs) {private val paint = Paint(Paint.ANTI_ALIAS_FLAG)override fun onDraw(canvas: Canvas) {super.onDraw(canvas)canvas.drawLine(100f, 100f, 300f, 300f, paint)}
}

画个圆

package com.example.viewtest.viewimport android.content.Context
import android.graphics.Canvas
import android.graphics.Paint
import android.util.AttributeSet
import android.view.View
import com.example.viewtest.ext.dpclass TestView(context: Context, attrs: AttributeSet) : View(context, attrs) {private val paint = Paint(Paint.ANTI_ALIAS_FLAG)override fun onDraw(canvas: Canvas) {super.onDraw(canvas)canvas.drawCircle(width / 2f, height / 2f, 100.dp, paint)}
}

接下来讲Path,path不是用来绘制路径的,绘制路径只是其中一个功能而已,他是用来绘制图形的

使用Path绘制一个圆

package com.example.viewtest.viewimport android.content.Context
import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.Path
import android.util.AttributeSet
import android.view.View
import com.example.viewtest.ext.dpclass TestView(context: Context, attrs: AttributeSet) : View(context, attrs) {private val paint = Paint(Paint.ANTI_ALIAS_FLAG)private val path = Path()// 在尺寸发生改变的时候,初始化 pathoverride fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {super.onSizeChanged(w, h, oldw, oldh)path.reset()// 最后一个参数:Direction,CW:顺时针,CCW:逆时针path.addCircle(width / 2f, height / 2f, 100.dp, Path.Direction.CW)}override fun onDraw(canvas: Canvas) {super.onDraw(canvas)
//        canvas.drawLine(100f, 100f, 300f, 300f, paint)
//
//        canvas.drawCircle(width / 2f, height / 2f, 100.dp, paint)canvas.drawPath(path, paint)}
}

这里主要讲一下Direction,Direction主要是用来处理两个图形相交处的样子,通过Direction的配合使用,可以使图形相交地方之处实现实心还是镂空的效果,这里有一个标准

如果要确定一个点是在内部还是外部,那么就从这个点像任意方向发送一条射线,这条线遇到左旋(逆时针)路径就+1,右旋路径就-1,最终结果无论正负,只要不为0,那么这就是一个在内部的点

除此之外,一般使用path.fillType属性,他的默认值是Path.FillType.WINDING,使用path.fillType是另一套计算方式,也就是说不管左旋还是右旋,一个点只记录和path的相交次数,奇数为内部,偶数为外部

镂空效果直接设置为 path.fillType = Path.FillType.EVEN_ODD

举个例子,一个圆和一个方相交

package com.example.viewtest.viewimport android.content.Context
import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.Path
import android.util.AttributeSet
import android.view.View
import com.example.viewtest.ext.dpclass TestView(context: Context, attrs: AttributeSet) : View(context, attrs) {private val paint = Paint(Paint.ANTI_ALIAS_FLAG)private val path = Path()// 在尺寸发生改变的时候,初始化 pathoverride fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {super.onSizeChanged(w, h, oldw, oldh)path.reset()// 最后一个参数:Direction,CW:顺时针,CCW:逆时针path.addCircle(width / 2f, height / 2f, 100.dp, Path.Direction.CW)path.addRect(width / 2f - 100.dp, height / 2f, width / 2f + 100.dp, height / 2f + 2 * 100.dp, Path.Direction.CCW)// 第二个参数的作用是是否要自动闭合pathMeasure = PathMeasure(path, false)pathMeasure.length// 给定一个长度,会返回当前长度所处位置的切点,也就是正弦值pathMeasure.getPosTan()path.fillType = Path.FillType.EVEN_ODD}override fun onDraw(canvas: Canvas) {super.onDraw(canvas)
//        canvas.drawLine(100f, 100f, 300f, 300f, paint)
//
//        canvas.drawCircle(width / 2f, height / 2f, 100.dp, paint)canvas.drawPath(path, paint)}
}

pathMeasure = PathMeasure(path, false)

第二个参数的作用是是否要自动闭合,如果一个图形假设是个半圆,那么测量的就是这个半圆的长度,如果是true就是半圆+起始点连接线的长度

http://www.ritt.cn/news/11945.html

相关文章:

  • 网站流量下降原因自己做seo网站推广
  • 如何制作一个企业网站seo关键词排优化软件
  • 网站做优化效果怎么样产品免费推广网站有哪些
  • 广州seo网站推广费用品牌策划书
  • 网站建设的开源平台大数据营销系统软件
  • 手机网站无响应襄阳百度开户
  • 阜宁县住房城乡建设局网站网推平台有哪些比较好
  • 运城手机网站制作上海做网站优化
  • 阿里云做网站公司网站设计需要多少钱
  • 江门网站开发公司珠海网站建设
  • 网站购物车功能新冠咳嗽一般要咳多少天
  • 哈尔滨网站开发培训最强大的搜索引擎
  • 公司的官方网站的作用潍坊网站建设咨询
  • 旅行社网站建设需求分析百度收录在线提交
  • 政府网站建设方案 ppt百度浏览器网址大全
  • 无锡百度网络推广aso应用商店优化
  • 网站的设计思路范文网络营销职业规划300字
  • 电子商务网站建设的一般过程免费个人网页制作
  • 做网站建设怎么介绍自己谷歌官方网站登录入口
  • 专业网站制作案例把百度网址大全设为首页
  • 免费看各大网站的软件安新seo优化排名网站
  • 做棋牌网站建设哪家便宜厦门网站推广公司哪家好
  • 上海 高端 网站建设搜索引擎营销的过程
  • 全球网站域名后缀下载百度app最新版并安装
  • 免费企业营销网站制作百度一下就知道
  • 网站做https好处全球搜钻
  • 做网站哪种编程语言最好网站优化网
  • app软件制作公司排名seo综合查询站长工具关键词
  • 外贸建设网站制作长沙seo霜天博客
  • 提升学历的正规平台seo关键词优化哪个平台好