国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 圖片特效處理的方法實例

2020-04-11 12:30:47
字體:
來源:轉載
供稿:網友

1. 圖片放縮

復制代碼 代碼如下:

// zoom 放縮 
public static Bitmap zoomBitmap(Bitmap bitmap, int w, int h) { 
    int width = bitmap.getWidth(); 
    int height = bitmap.getHeight(); 
    Matrix matrix = new Matrix(); 

    float scaleWidth = w / (float) width; 
    float scaleHeight = h / (float) height; 
    matrix.postScale(scaleWidth, scaleHeight); 

    Bitmap bitmap2 = Bitmap.createBitmap(bitmap, 0, 0, width, height, 
            matrix, true); 
    return bitmap2; 


2. 獲得圓角圖片


復制代碼 代碼如下:

// Round Corner Bitmap 獲得圓角圖片 
public static Bitmap getRoundCornerBitmap(Bitmap bitmap, float roundPX /*圓角的半徑*/) { 
    int width = bitmap.getWidth(); 
    int height = bitmap.getHeight(); 

    Bitmap bitmap2 = Bitmap.createBitmap(width, height, Config.ARGB_8888); 
    Canvas canvas = new Canvas(bitmap2); 

    final int color = 0xff424242; 
    final Paint paint = new Paint(); 
    final Rect rect = new Rect(0, 0, width, height); 
    final RectF rectF = new RectF(rect); 

    paint.setColor(color); 
    paint.setAntiAlias(true); 
    canvas.drawARGB(0, 0, 0, 0); 
    canvas.drawRoundRect(rectF, roundPX, roundPX, paint); 

    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); 
    canvas.drawBitmap(bitmap, rect, rect, paint); 

    return bitmap2; 


3. 獲得帶倒影的圖片

復制代碼 代碼如下:

// Reflect Bitmap 獲得帶倒影的圖片 
public static Bitmap createReflectedBitmap(Bitmap bitmap) { 
    //倒影和圖片本身的間距 
    final int reflectedGap = 4; 
    int width = bitmap.getWidth(); 
    int height = bitmap.getHeight(); 

    Matrix matrix = new Matrix(); 
    matrix.preScale(1, -1); 

    Bitmap reflectedImage = Bitmap.createBitmap(bitmap, 0, height / 2, 
            width, height / 2, matrix, false); 
    Bitmap reflectedBitmap = Bitmap.createBitmap(width, 
            (height + height / 2), Config.ARGB_8888); 

    Canvas canvas = new Canvas(reflectedBitmap); 
    canvas.drawBitmap(bitmap, 0, 0, null); 
    Paint defaultPaint = new Paint(); 
    canvas.drawRect(0, height, width, height + reflectedGap, defaultPaint); 
    canvas.drawBitmap(reflectedImage, 0, height + reflectedGap, null); 

    Paint paint = new Paint(); 
    LinearGradient shader = new LinearGradient(0, bitmap.getHeight(), 0, 
            reflectedBitmap.getHeight() + reflectedGap, 0x70ffffff, 
            0x00ffffff, TileMode.CLAMP); 
    paint.setShader(shader); 
    paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN)); 
    canvas.drawRect(0, height, width, reflectedBitmap.getHeight() 
            + reflectedGap, paint); 

    return reflectedBitmap; 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 连城县| 随州市| 徐汇区| 杂多县| 临西县| 丹凤县| 高青县| 安顺市| 株洲市| 乌恰县| 周至县| 甘孜| 嵊泗县| 济宁市| 惠东县| 曲阜市| 芷江| 和硕县| 岳阳县| 扬中市| 图木舒克市| 玉环县| 峨山| 建宁县| 东方市| 江山市| 綦江县| 久治县| 炉霍县| 吐鲁番市| 通海县| 湛江市| 陆河县| 宁阳县| 怀柔区| 岑巩县| 哈尔滨市| 元朗区| 临西县| 江阴市| 闽侯县|