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

Android绘图Path基于LinearGradient线性渐变,Kotlin(1)

Android绘图Path基于LinearGradient线性渐变,Kotlin(1)

import android.content.Context
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.LinearGradient
import android.graphics.Paint
import android.graphics.Path
import android.graphics.Shader
import android.util.AttributeSet
import androidx.appcompat.widget.AppCompatImageView


class MyView : AppCompatImageView {
    private var mLinearGradient: LinearGradient? = null
    private var mPaint: Paint? = null
    private var mPath: Path? = null

    private var mStartX = 0f
    private var mStartY = 0f
    private var mEndX = 0f
    private var mEndY = 0f

    constructor(ctx: Context, attributeSet: AttributeSet) : super(ctx, attributeSet) {
        mPaint = Paint(Paint.ANTI_ALIAS_FLAG or Paint.FILTER_BITMAP_FLAG)
        mPaint?.style = Paint.Style.STROKE
        mPaint?.strokeWidth = 60f

        mPath = Path()
    }

    private fun myUpdate() {
        mStartX = 0f
        mStartY = 0f
        mEndX = width.toFloat()
        mEndY = height.toFloat()

        mPath?.moveTo(mStartX, mStartY)
        mPath?.lineTo(mEndX, mEndY)

        mLinearGradient =
            LinearGradient(mStartX, mStartY, mEndX, mEndY, intArrayOf(Color.RED, Color.BLUE, Color.YELLOW), null, Shader.TileMode.CLAMP)
        mPaint?.setShader(mLinearGradient)
    }

    override fun onDraw(canvas: Canvas) {
        myUpdate()
        canvas.drawPath(mPath!!, mPaint!!)
    }
}

Android渲染器Shader:LinearGradient(一)_android lineargradient-CSDN博客文章浏览阅读4.2k次。Android渲染器Shader:LinearGradient(一)LinearGradient是Android的线性渲染器。我写5个LinearGradient渲染器渲染后的View表现结果。其中,LinearGradient 1,2,3只是修改渲染器的渲染模式,LinearGradient 1为重复(repeat),LinearGradient 2为镜像模式(mirror),Lin_android lineargradienthttps://blog.csdn.net/zhangphil/article/details/52004027

Android画布Canvas drawPath绘制跟随手指移动的圆,Kotlin_canvs.drawpath-CSDN博客文章浏览阅读1.1k次,点赞8次,收藏6次。文章浏览阅读2.3k次。Android SurfaceView简例Android中各的SurfaceView和View有很大的不同,两者应用场景不同。大多数View能做的事情SurfaceView也可以,但是SurfaceView效率更高。Android的View绘制过程由Android系统控制,刷新机制开发者比较难以控制。而SurfaceView支持高频、多线程绘制。SurfaceView不存在是否在Android U。Android SurfaceView简例-CSDN博客。_canvs.drawpathhttps://blog.csdn.net/zhangphil/article/details/135166305 从android.graphics.Path中取出Point点,Kotlin_android path 获取点-CSDN博客文章浏览阅读666次。本文介绍了如何使用Kotlin在Android中从`Path`对象中提取指定数量的`Point`点,以实现如涂鸦文字功能。作者提供了`getPoints`方法和`FloatPoint`类的示例,以及`PaintView`组件在实际应用中的使用。 https://blog.csdn.net/zhangphil/article/details/134442428


http://www.kler.cn/a/442893.html

相关文章:

  • 2025年第三届“华数杯”国际赛A题解题思路与代码(Python版)
  • 进阶——十六届蓝桥杯嵌入式熟练度练习(LED的全开,全闭,点亮指定灯,交替闪烁,PWM控制LED呼吸灯)
  • 油猴支持阿里云自动登陆插件
  • 免费开源了一个图床工具 github-spring-boot-starter
  • 汽车发动机电控系统-【传感器】篇
  • 实践环境-docker安装mysql8.0.40步骤
  • elasticsearch 使用enrich processor填充数据
  • 代码随想录算法训练营第五十天 | 图 | 并查集
  • fpga系列 HDL:Quartus II PLL (Phase-Locked Loop) IP核 (Quartus II 18.0)
  • Long类型的数据在网络传输的过程中丢失精度
  • Python-基于Pygame的小游戏(滑雪大冒险)(一)
  • 社交电商新风口:短视频交友+自营商城源码运营
  • filecoin boost GraphQL API 查询
  • AI开发 - 用GPT写一个GPT应用的真实案例
  • 在 Webpack 中Plugin有什么作用?Plugin是什么?
  • 华为认证HCIA——数据传输形式,数据封装的基本概念
  • 企业为什么会需要高防IP?
  • Elasticsearch:什么是信息检索?
  • 16.初识接口2.0 C#
  • SSM 电脑配件销售系统设计及 JSP 实现策略详解
  • 代码随想录算法训练营第八天-字符串-344. 反转字符串
  • OpenCV中的识别图片颜色并绘制轮廓
  • 深度解析:推荐系统的进化之路与深度学习革命