Android Xfermode 使用解析

这篇具有很好参考价值的文章主要介绍了Android Xfermode 使用解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自定义绘制之图片

canvar.drawBitmap() ,BitMapFactory

  private fun getBitmap(width: Int): Bitmap? {
        val option = BitmapFactory.Options()
        option.inJustDecodeBounds = true
        BitmapFactory.decodeResource(resources, R.mipmap.android111,option)
        option.inJustDecodeBounds = false
        option.inDensity = option.outWidth
        option.inTargetDensity  = width
        return BitmapFactory.decodeResource(resources,R.mipmap.android111,option)
    }

加载本地图片优化版

inJustDecodeBounds  读取上下左右以及大小 等 信息

drawBitmap(bitmap,left,top,paint)

drawOval(left,top,right,bottom) 画椭圆

paint.setXfremode() // 现在只剩一种 PorterDuffXfermode

val count = canvar.saveLayer(bounds,paint) 挖空的区域 返回ocunt

bounds = RectF() 

cavar.restoreToCouint 还原位置 

tips:使用完成后 最好恢复一下

paint.xfermode = null
canvas.restoreToCount(count)

Android Xfermode 使用解析,android

Android Xfermode 使用解析,android

Android Xfermode 使用解析,android

 

 

算法

Android Xfermode 使用解析,android 

 

canvar.drawOval(left,top,right,bottom,paint) 绘制圆形 椭圆

canvar.drawRect(left,top,right,bottom,paint) 绘制方形

Mode: SRC_IN,SRC,SRC_OVAL等,绘制时会根据范围进行判断进行绘制,可能出现与Mode方式不同的结果,透明区域也要计算文章来源地址https://www.toymoban.com/news/detail-674695.html

到了这里,关于Android Xfermode 使用解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android MQTT连接阿里云使用Json解析数据

    这里有两种方法: 这里先介绍第一种方法: 切换到Android 目录: 按照如下图,添加依赖即可: 第二种方法: 打开Android Studio 然后切换到Android 目录找到Lib文件夹,将MQTT的JAR包复制进去即可。 然后点击project目录然后将MQTT JAR包导进去 添加完成之后作为库导入工程中 在MainA

    2024年02月03日
    浏览(29)
  • Android中使用WebView与JS交互全解析

    首先,需要提出一个概念,那就是hybrid,主要意思就是native原生Android和h5混合开发。为什么要这样做呢?大家可以想象一下针对于同一个活动,如果使用纯native的开发方式,Android和iOS两边都要维护同一套界面甚至是逻辑,这样开发和维护的成本会很大,而使用hybrid的开发方式

    2024年04月09日
    浏览(67)
  • Android13 adb input 调试命令使用和源码解析

    目录 一、概述 二、常用命令 2.1 输入文本 2.2 模拟按键 2.3 模拟点击 2.4 模拟滑动 2.5 模拟长按 2.6 模拟滚动 三、进阶用法 3.1 组合按键的用法 3.2 长按power键 3.3 输入中文 3.4 代码模拟发送按键 1. 方法1: 2. 方法2: 3. 方法3: 四、注意事项 五、源码解析 六、总结 好了 本篇作为And

    2024年01月20日
    浏览(48)
  • Flutter-TabBar的使用说明,吃透这份Android高级工程师面试497题解析

    TabBar在使用之前,首先需要熟悉他的定义属性,现在查看常用定义属性: const TabBar({ Key key, @required this.tabs,//必须实现的,设置需要展示的tabs,最少需要两个 this.controller, this.isScrollable = false,//是否需要滚动,true为需要 this.indicatorColor,//选中下划线的颜色 this.indicatorWeight = 2.

    2024年04月26日
    浏览(38)
  • 【Android R】车载 Android 核心服务 - CarService 解析

    在之前的文章从应用工程师的角度再谈车载 Android 系统中提到了\\\" CarService 是车载Android系统的核心服务之一,所有应用都需要通过 CarService 来查询、控制整车的状态\\\",不仅仅是车辆控制,实际上 CarService 几乎就是整个车载Framework最核心的组件,这也让 CarService 成了各种bug的重

    2023年04月19日
    浏览(32)
  • Android Studio App开发中数据库SQLite的解析及实战使用(包括创建数据库,增删改查,记住密码等 附源码必看)

    运行有问题或需要源码请点赞关注收藏后评论区留言~~~ SQLite是一种小巧的嵌入式数据库,使用方便,开发简单,如同mysql,oracle那样,SQLite也采用SQL语句管理数据,由于它属于轻型数据库,不涉及复杂的数据控制操作,因此App开发只用到数据定义和数据操纵两类SQL。 1:数据

    2024年02月03日
    浏览(64)
  • Android Retrofit 源码解析

    在 Android 开发中,Retrofit 是一个非常流行的网络请求库。它是由 Square 开发的,用于 简化 Android 应用程序与网络服务器之间的通信 。 Retrofit 主要用于处理 RESTful API 的网络请求。它通过将 HTTP 请求与 Java 接口方法进行映射,使得网络请求的编写变得简单和直观。使用 Retrofit,

    2024年02月13日
    浏览(27)
  • Android 解析JSON数据

    第一种使用JSONObject解析JSON数据,这是Android中最基本的数据解析方式 第二种方式通过GSON去解析JSON数据  同样的数据格式 GSON的数据解析看起来代码量相对小一点,但所创建的类也是必须的 第一个支持的类,此类为自定义名字,为了方便随意起的,但在项目中要正规取名,见

    2024年02月11日
    浏览(24)
  • Android.mk文件解析

    1、LOCAL_PATH 当前模块位置 my_dir 系统提供的宏函数,返回当前文件所在的路径 $(call my_dir) 调用该函数 2、include $(CLEAR_VARS) 清除除了 LOCAL_PATH 变量外的LOCAL_XXX变量 所有的编译控制文件都在同一个GNU MAKE执行环境中,所有的编译控制文件由同一个GNU Make解析和执行,其变量是全局

    2023年04月22日
    浏览(29)
  • Android Settings解析

    Android Settings 系列文章: Android Settings解析 SettingsIntelligence SettingsProvider 首语 Android设置应用是Android系统中一个非常重要的系统应用,它允许用户调整和设置系统的各种参数和功能(系统设置/自定义设置/控制应用权限/开发者选项/系统信息等),使用户获得更好的使用体验。

    2024年01月21日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包