zoukankan      html  css  js  c++  java
  • 018_02图片水印

    Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位 

    Bitmap.Config ARGB_8888:每个像素占四位,即A=8,R=8,G=8,B=8,那么一个像素点占8+8+8+8=32位

    Bitmap.Config RGB_565:每个像素占四位,即R=5,G=6,B=5,没有透明度,那么一个像素点占5+6+5=16位

    Bitmap.Config ALPHA_8:每个像素占四位,只有透明度,没有颜色。

    画水印步骤:

    1,创建和底片一样的空白bitmap

    2,使用空白bitmap创建canvas

    3,先画底片

    4,设置相交模式

    5,再画水印

     1 package com.example.day18_02picturemark;
     2 
     3 import android.app.Activity;
     4 import android.graphics.Bitmap;
     5 import android.graphics.BitmapFactory;
     6 import android.graphics.Paint;
     7 import android.graphics.Bitmap.Config;
     8 import android.graphics.Canvas;
     9 import android.graphics.PorterDuff.Mode;
    10 import android.graphics.PorterDuffXfermode;
    11 import android.os.Bundle;
    12 import android.view.View;
    13 import android.widget.ImageView;
    14 
    15 public class MainActivity extends Activity {
    16 
    17     private ImageView iv_picture;
    18 
    19     @Override
    20     protected void onCreate(Bundle savedInstanceState) {
    21         super.onCreate(savedInstanceState);
    22         setContentView(R.layout.activity_main);
    23         
    24         iv_picture = (ImageView) findViewById(R.id.iv_pricture);        
    25     }
    26 
    27 
    28     public void addmark(View v){
    29         Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.wenzhang);
    30         Bitmap mark = BitmapFactory.decodeResource(getResources(), R.drawable.mark);
    31 
    32         Bitmap blank = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),Config.ARGB_8888);
    33         Canvas canvas = new Canvas(blank);
    34         Paint paint = new Paint();
    35         
    36         canvas.drawBitmap(bitmap, 0, 0, paint);
    37         
    38         
    39        // 设置图片相交的模式为: darken(上面的和下面的图片都可以显示, 并且相交的部分会有透明)
    40         
    41         int left = bitmap.getWidth() / 2 - mark.getWidth() / 2;
    42         int top =  bitmap.getHeight() / 2 - mark.getHeight() / 2;
    43 
    44         paint.setXfermode(new PorterDuffXfermode(Mode.SRC_OVER));
    45         canvas.drawBitmap(mark, left,top, paint);
    46         
    47         iv_picture.setImageBitmap(blank);        
    48     }     
    49 }
    物随心转,境由心造,一切烦恼皆由心生。
  • 相关阅读:
    辅助性的“比较操作符”
    辅助性的“比较操作符”
    浙江一乘客没赶上火车退票不成把票撕了 结果"悲剧"了
    美国超震撼短片-梦想
    在HTML文件中加入空格
    揭秘人造肉
    不能发布网站简讯
    KMPlayer
    文件四处盖章签字等
    冬天到了如何御寒
  • 原文地址:https://www.cnblogs.com/woodrow2015/p/4542660.html
Copyright © 2011-2022 走看看