Skip to content

Commit bcaa3ed

Browse files
author
fengjian
committed
add gray for BitmapLess
1 parent 8fc7338 commit bcaa3ed

File tree

3 files changed

+31
-1
lines changed

3 files changed

+31
-1
lines changed

app/src/main/java/com/jayfeng/lesscode/app/activity/BitmapActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ protected void onCreate(Bundle savedInstanceState) {
2525
roundImageView = ViewLess.$(this, R.id.image_round);
2626

2727
Bitmap bitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.girl2)).getBitmap();
28-
bitmap = BitmapLess.$round(bitmap, 100, true);
28+
bitmap = BitmapLess.$gray(bitmap, true);
2929
roundImageView.setImageBitmap(bitmap);
3030
}
3131
}

app/src/main/java/com/jayfeng/lesscode/app/activity/CacheActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
import android.app.Activity;
44
import android.graphics.Bitmap;
5+
import android.graphics.BitmapRegionDecoder;
56
import android.graphics.Matrix;
67
import android.graphics.drawable.BitmapDrawable;
78
import android.os.Bundle;
9+
import android.support.v4.util.LruCache;
810

911
import com.jayfeng.lesscode.app.R;
1012

lesscode-core/src/main/java/com/jayfeng/lesscode/core/BitmapLess.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import android.graphics.BitmapFactory;
66
import android.graphics.Canvas;
77
import android.graphics.Color;
8+
import android.graphics.ColorMatrix;
9+
import android.graphics.ColorMatrixColorFilter;
810
import android.graphics.Matrix;
911
import android.graphics.Paint;
1012
import android.graphics.PorterDuff;
@@ -308,4 +310,30 @@ public final class BitmapLess {
308310

309311
return circleBitmap;
310312
}
313+
314+
/**
315+
* 灰阶效果
316+
* @param originBitmap
317+
* @param recycle
318+
* @return
319+
*/
320+
public static Bitmap $gray(Bitmap originBitmap, boolean recycle) {
321+
Bitmap grayBitmap = Bitmap.createBitmap(originBitmap.getWidth(),
322+
originBitmap.getHeight(), Bitmap.Config.RGB_565);
323+
Canvas canvas = new Canvas(grayBitmap);
324+
Paint paint = new Paint();
325+
ColorMatrix colorMatrix = new ColorMatrix();
326+
colorMatrix.setSaturation(0);
327+
ColorMatrixColorFilter colorMatrixColorFilter =
328+
new ColorMatrixColorFilter(colorMatrix);
329+
paint.setColorFilter(colorMatrixColorFilter);
330+
canvas.drawBitmap(originBitmap, 0, 0, paint);
331+
332+
// 是否回收原始Bitmap
333+
if (recycle && originBitmap != null && !originBitmap.isRecycled()) {
334+
originBitmap.recycle();
335+
}
336+
337+
return grayBitmap;
338+
}
311339
}

0 commit comments

Comments
 (0)