现在的位置: 首页 > 综合 > 正文

Android中几种图像特效处理

2013年11月11日 ⁄ 综合 ⁄ 共 1746字 ⁄ 字号 评论关闭

大家好,这一节给大家分享的是Android中几种图像特效处理的小技巧,比如圆角,倒影,还有就是图片缩放,Drawable转化为Bitmap,Bitmap转化为Drawable等等.

废话少说了,直接讲解今天的实例,本例主要是先获取壁纸(getWallpaper()),然后对当前壁纸的一些特效处理.大家按步骤一步一步来:

第一步:新建一个Android工程命名为ImageDemo,工程结构如下:

第二步:新建一个.java文件,命名为ImageUtil.java,在里面定义一些图片处理方法,代码如下:

[java] view
plain
copy

  1. package com.android.tutor;  
  2. import android.graphics.Bitmap;  
  3. import android.graphics.Canvas;  
  4. import android.graphics.LinearGradient;  
  5. import android.graphics.Matrix;  
  6. import android.graphics.Paint;  
  7. import android.graphics.PixelFormat;  
  8. import android.graphics.PorterDuffXfermode;  
  9. import android.graphics.Rect;  
  10. import android.graphics.RectF;  
  11. import android.graphics.Bitmap.Config;  
  12. import android.graphics.PorterDuff.Mode;  
  13. import android.graphics.Shader.TileMode;  
  14. import android.graphics.drawable.Drawable;  
  15. public class ImageUtil {  
  16.       
  17.     //放大缩小图片  
  18.     public static Bitmap zoomBitmap(Bitmap bitmap,int w,int h){  
  19.         int width = bitmap.getWidth();  
  20.         int height = bitmap.getHeight();  
  21.         Matrix matrix = new Matrix();  
  22.         float scaleWidht = ((float)w / width);  
  23.         float scaleHeight = ((float)h / height);  
  24.         matrix.postScale(scaleWidht, scaleHeight);  
  25.         Bitmap newbmp = Bitmap.createBitmap(bitmap, 00, width, height, matrix, true);  
  26.         return newbmp;  
  27.     }  
  28.     //将Drawable转化为Bitmap  
  29.      public static Bitmap drawableToBitmap(Drawable drawable){  
  30.             int width = drawable.getIntrinsicWidth();  
  31.             int height = drawable.getIntrinsicHeight();  
  32.             Bitmap bitmap = Bitmap.createBitmap(width, height,  
  33.                     drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888  
  34.                             : Bitmap.Config.RGB_565);  
  35.             Canvas canvas = new Canvas(bitmap);  
【上篇】
【下篇】

抱歉!评论已关闭.