zoukankan      html  css  js  c++  java
  • PorterDuffXfermode之PorterDuff.Mode.MULTIPLY

    package com.loaderman.customviewdemo.view;
    
    import android.content.Context;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.Canvas;
    import android.graphics.Paint;
    import android.graphics.PorterDuff;
    import android.graphics.PorterDuffXfermode;
    import android.util.AttributeSet;
    import android.view.View;
    
    import com.loaderman.customviewdemo.R;
    
    
    public class TwitterView extends View {
        private Paint mBitPaint;
        private Bitmap BmpDST,BmpSRC;
        public TwitterView(Context context, AttributeSet attrs) {
            super(context, attrs);
            setLayerType(LAYER_TYPE_SOFTWARE,null);
            mBitPaint = new Paint();
            BmpDST = BitmapFactory.decodeResource(getResources(), R.drawable.twiter_bg, null);
            BmpSRC = BitmapFactory.decodeResource(getResources(),R.drawable.twiter_light,null);
        }
    
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            canvas.save();
            canvas.drawBitmap(BmpDST,0,0,mBitPaint);
            mBitPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.MULTIPLY));
            canvas.drawBitmap(BmpSRC,0,0,mBitPaint);
            mBitPaint.setXfermode(null);
            canvas.restore();
        }
    }
      <com.loaderman.customviewdemo.view.TwitterView
          android:layout_width="match_parent"
          android:layout_height="match_parent" />

    效果:

  • 相关阅读:
    函数宏实现循环左移
    函数宏判断小端
    Linux下32位与64位数据类型大小
    转:C语言嵌入式系统编程之软件架构篇
    转:详解大端小段模式
    time函数计算时间
    匈牙利命名法
    20131030
    20131029
    20131028
  • 原文地址:https://www.cnblogs.com/loaderman/p/10215201.html
Copyright © 2011-2022 走看看