android 图片操作之Shader

来源:互联网 发布:suse 端口转发 编辑:程序博客网 时间:2024/06/05 19:27

通过设置画笔的shader来设置画笔的渐变效果.

// 绘制图片的倒影效果

    private void init() {        //生成倒影的图片        resBitmap=BitmapFactory.decodeResource(getResources(), R.drawable.test3);        Matrix matrix=new Matrix();        matrix.setScale(1, -1);        outBitmap=Bitmap.createBitmap(resBitmap, 0, 0,                resBitmap.getWidth(), resBitmap.getHeight(),                matrix,true);        mPaint=new Paint();        //设置画笔的渐变效果        mPaint.setShader(new LinearGradient(0, resBitmap.getHeight(),                0,resBitmap.getHeight()*1.6f,                0xDD000000,0x11000000, TileMode.CLAMP));        mPaint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));    }    /**     * 先绘制原图与变换后的图片     * 然后设置画笔的渐变 来绘制绘制矩形的遮罩层     */    @Override    protected void onDraw(Canvas canvas) {        //画出原图       canvas.drawBitmap(resBitmap, 0, 0, null);       ///画出变换的图片       canvas.drawBitmap(outBitmap, 0,resBitmap.getHeight(), null);       //画出矩形       canvas.drawRect(0, resBitmap.getHeight(),               resBitmap.getWidth(),resBitmap.getHeight()*2, mPaint);    }
0 0
原创粉丝点击