博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BitmapShader填充图形
阅读量:5224 次
发布时间:2019-06-14

本文共 1346 字,大约阅读时间需要 4 分钟。

package com.loaderman.customviewdemo;import android.content.Context;import android.graphics.*;import android.util.AttributeSet;import android.view.View;public class BitmapShaderView extends View {    private Paint mPaint;    private Bitmap mBmp;    public BitmapShaderView(Context context, AttributeSet attrs) {        super(context, attrs);        mPaint = new Paint();        mBmp = BitmapFactory.decodeResource(getResources(), R.drawable.dog_edge);        /*        *       CLAMP  用边缘色彩来填充多余的空间        *       MIRROR 重复使用镜像模式的图像来填充多余的空间        *      REPEAT 重复原图像来填充多余的空间        */        mPaint.setShader(new BitmapShader(mBmp, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT));    }    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        canvas.drawColor(Color.WHITE);        //getWidth()用于获取控件宽度,getHeight()用于获取控件高度        float left = getWidth() / 3;        float top = getHeight() / 3;        float right = getWidth() * 2 / 3;        float bottom = getHeight() * 2 / 3;        canvas.drawRect(left, top, right, bottom, mPaint);//        canvas.drawRect(0,0,getWidth(),getHeight(),mPaint);    }}

效果:

说明:

BitmapShader(Bitmap bitmap, TileMode tileX, TileMode tileY)

bitmap指定图案

tileX指定当X轴超出单张图片大小时所重复的策略

tileY指定当Y轴超出单张图片大小时所使用的重复策略

转载于:https://www.cnblogs.com/loaderman/p/10212875.html

你可能感兴趣的文章
java截取图片部分尺寸
查看>>
从java字节码角度看线程安全性问题
查看>>
Java源码之 java.util.concurrent 学习笔记01
查看>>
洛谷P1175 表达式的转换
查看>>
Android实现类似换QQ头像功能(图片裁剪)
查看>>
PHP开发者应了解的24个库
查看>>
var、const、let 的区别
查看>>
改进的排序算法
查看>>
[转载]哈佛经典——《管理自己》
查看>>
虚拟内存安排
查看>>
进制转换
查看>>
datasg中的数据的存储结
查看>>
PTA題目的處理(一)
查看>>
db2 存储BLOB格式的大对象
查看>>
UVA 12902 Reverse Polish Notation
查看>>
应考计划 2010-09-04
查看>>
VS快捷键(转)
查看>>
牛人博客收集
查看>>
0529
查看>>
跟踪数据库中执行时间超过1.5秒的语句及SP,导入数据库
查看>>