1
0
mirror of https://github.com/wasabeef/glide-transformations.git synced 2025-10-05 18:53:20 +08:00

12 Commits
1.0.2 ... 1.0.5

Author SHA1 Message Date
wasabeef
4c23e38206 fix Transparency 2015-03-09 00:08:53 +09:00
Daichi Furiya
ffae37274c Update CHANGELOG.md 2015-02-13 16:11:43 +09:00
Daichi Furiya
0c6f696ba7 Update README.md 2015-02-13 16:07:45 +09:00
wasabeef
3aea08abaa bump up 2015-02-13 15:52:42 +09:00
Daichi Furiya
883c131ad6 Merge pull request #3 from yqritc/fix/bitmap-recycling
remove original bitmap resource recycling
2015-02-13 15:26:28 +09:00
ikeda_yoshihito
ee1f533999 remove original bitmap resource recycling 2015-02-13 12:31:30 +09:00
wasabeef
68a9097962 refactor: Bitmap.Config 2015-02-05 20:51:12 +09:00
wasabeef
6269999abc bump up 2015-02-04 01:00:50 +09:00
wasabeef
7e93ccd9af Merge branch 'master' of github.com:wasabeef/glide-transformations 2015-02-04 00:55:18 +09:00
wasabeef
07b7d24e13 bug fix 2015-02-04 00:54:22 +09:00
Daichi Furiya
ca648cbc7d bump up 2015-02-04 00:40:08 +09:00
Daichi Furiya
67ac3e31a4 Update CHANGELOG.md 2015-02-04 00:39:19 +09:00
11 changed files with 47 additions and 35 deletions

View File

@@ -1,6 +1,21 @@
Change Log Change Log
========== ==========
Version 1.0.4 *(2015-02-13)*
----------------------------
Bug fix : remove original bitmap resource recycling.
Version 1.0.3 *(2015-02-05)*
----------------------------
Bug fix
Version 1.0.2 *(2015-02-04)*
----------------------------
Refactor: use BimapPool
Version 1.0.1 *(2015-01-21)* Version 1.0.1 *(2015-01-21)*
---------------------------- ----------------------------

View File

@@ -32,7 +32,7 @@ repositories {
} }
dependencies { dependencies {
compile 'jp.wasabeef:glide-transformations:1.0.1@aar' compile 'jp.wasabeef:glide-transformations:1.0.4@aar'
compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.2.3@aar' compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.2.3@aar'
} }
``` ```

View File

@@ -53,7 +53,7 @@ def getKeyAliasPasswordProperty() {
dependencies { dependencies {
compile project(':transformations') compile project(':transformations')
// compile 'jp.wasabeef:glide-transformations:1.0.2' // compile 'jp.wasabeef:glide-transformations:1.0.4'
compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.2.3' compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.2.3'
compile 'com.android.support:appcompat-v7:21.+' compile 'com.android.support:appcompat-v7:21.+'
compile 'com.android.support:recyclerview-v7:21.+' compile 'com.android.support:recyclerview-v7:21.+'

View File

@@ -1,5 +1,5 @@
VERSION_NAME=1.0.2 VERSION_NAME=1.0.5
VERSION_CODE=3 VERSION_CODE=5
GROUP=jp.wasabeef GROUP=jp.wasabeef
ARTIFACT_ID=glide-transformations ARTIFACT_ID=glide-transformations

View File

@@ -54,9 +54,11 @@ public class BlurTransformation implements Transformation<Bitmap> {
int width = source.getWidth(); int width = source.getWidth();
int height = source.getHeight(); int height = source.getHeight();
Bitmap bitmap = mBitmapPool.get(width, height, source.getConfig()); Bitmap.Config config =
source.getConfig() != null ? source.getConfig() : Bitmap.Config.ARGB_8888;
Bitmap bitmap = mBitmapPool.get(width, height, config);
if (bitmap == null) { if (bitmap == null) {
bitmap = Bitmap.createBitmap(width, height, source.getConfig()); bitmap = Bitmap.createBitmap(width, height, config);
} }
Canvas canvas = new Canvas(bitmap); Canvas canvas = new Canvas(bitmap);
@@ -70,7 +72,6 @@ public class BlurTransformation implements Transformation<Bitmap> {
blur.forEach(overlayAlloc); blur.forEach(overlayAlloc);
overlayAlloc.copyTo(bitmap); overlayAlloc.copyTo(bitmap);
source.recycle();
rs.destroy(); rs.destroy();
return BitmapResource.obtain(bitmap, mBitmapPool); return BitmapResource.obtain(bitmap, mBitmapPool);

View File

@@ -45,9 +45,11 @@ public class ColorFilterTransformation implements Transformation<Bitmap> {
int width = source.getWidth(); int width = source.getWidth();
int height = source.getHeight(); int height = source.getHeight();
Bitmap bitmap = mBitmapPool.get(width, height, source.getConfig()); Bitmap.Config config =
source.getConfig() != null ? source.getConfig() : Bitmap.Config.ARGB_8888;
Bitmap bitmap = mBitmapPool.get(width, height, config);
if (bitmap == null) { if (bitmap == null) {
bitmap = Bitmap.createBitmap(width, height, source.getConfig()); bitmap = Bitmap.createBitmap(width, height, config);
} }
Canvas canvas = new Canvas(bitmap); Canvas canvas = new Canvas(bitmap);
@@ -56,8 +58,6 @@ public class ColorFilterTransformation implements Transformation<Bitmap> {
paint.setColorFilter(new PorterDuffColorFilter(mColor, PorterDuff.Mode.SRC_ATOP)); paint.setColorFilter(new PorterDuffColorFilter(mColor, PorterDuff.Mode.SRC_ATOP));
canvas.drawBitmap(source, 0, 0, paint); canvas.drawBitmap(source, 0, 0, paint);
source.recycle();
return BitmapResource.obtain(bitmap, mBitmapPool); return BitmapResource.obtain(bitmap, mBitmapPool);
} }

View File

@@ -43,26 +43,26 @@ public class CropCircleTransformation implements Transformation<Bitmap> {
int width = (source.getWidth() - size) / 2; int width = (source.getWidth() - size) / 2;
int height = (source.getHeight() - size) / 2; int height = (source.getHeight() - size) / 2;
Bitmap bitmap = mBitmapPool.get(width, height, source.getConfig()); Bitmap bitmap = mBitmapPool.get(size, size, Bitmap.Config.ARGB_8888);
if (bitmap == null) { if (bitmap == null) {
bitmap = Bitmap.createBitmap(width, height, source.getConfig()); bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
} }
Canvas canvas = new Canvas(bitmap); Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint(); Paint paint = new Paint();
BitmapShader shader = new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader shader = new BitmapShader(source, BitmapShader.TileMode.CLAMP,
BitmapShader.TileMode.CLAMP); BitmapShader.TileMode.CLAMP);
if (width != 0 || height != 0) {
Matrix matrix = new Matrix(); Matrix matrix = new Matrix();
matrix.setTranslate(-width, -height); matrix.setTranslate(-width, -height);
shader.setLocalMatrix(matrix); shader.setLocalMatrix(matrix);
}
paint.setShader(shader); paint.setShader(shader);
paint.setAntiAlias(true); paint.setAntiAlias(true);
float r = size / 2f; float r = size / 2f;
canvas.drawCircle(r, r, r, paint); canvas.drawCircle(r, r, r, paint);
source.recycle();
return BitmapResource.obtain(bitmap, mBitmapPool); return BitmapResource.obtain(bitmap, mBitmapPool);
} }

View File

@@ -41,15 +41,13 @@ public class CropSquareTransformation implements Transformation<Bitmap> {
mWidth = (source.getWidth() - size) / 2; mWidth = (source.getWidth() - size) / 2;
mHeight = (source.getHeight() - size) / 2; mHeight = (source.getHeight() - size) / 2;
Bitmap bitmap = mBitmapPool.get(mWidth, mHeight, source.getConfig()); Bitmap.Config config =
source.getConfig() != null ? source.getConfig() : Bitmap.Config.ARGB_8888;
Bitmap bitmap = mBitmapPool.get(mWidth, mHeight, config);
if (bitmap == null) { if (bitmap == null) {
bitmap = Bitmap.createBitmap(source, mWidth, mHeight, size, size); bitmap = Bitmap.createBitmap(source, mWidth, mHeight, size, size);
} }
if (bitmap != source) {
source.recycle();
}
return BitmapResource.obtain(bitmap, mBitmapPool); return BitmapResource.obtain(bitmap, mBitmapPool);
} }

View File

@@ -51,9 +51,11 @@ public class CropTransformation implements Transformation<Bitmap> {
mHeight = source.getHeight(); mHeight = source.getHeight();
} }
Bitmap bitmap = mBitmapPool.get(mWidth, mHeight, source.getConfig()); Bitmap.Config config =
source.getConfig() != null ? source.getConfig() : Bitmap.Config.ARGB_8888;
Bitmap bitmap = mBitmapPool.get(mWidth, mHeight, config);
if (bitmap == null) { if (bitmap == null) {
bitmap = Bitmap.createBitmap(mWidth, mHeight, source.getConfig()); bitmap = Bitmap.createBitmap(mWidth, mHeight, config);
} }
float scaleX = (float) mWidth / source.getWidth(); float scaleX = (float) mWidth / source.getWidth();
@@ -69,8 +71,6 @@ public class CropTransformation implements Transformation<Bitmap> {
Canvas canvas = new Canvas(bitmap); Canvas canvas = new Canvas(bitmap);
canvas.drawBitmap(source, null, targetRect, null); canvas.drawBitmap(source, null, targetRect, null);
source.recycle();
return BitmapResource.obtain(bitmap, mBitmapPool); return BitmapResource.obtain(bitmap, mBitmapPool);
} }

View File

@@ -42,9 +42,11 @@ public class GrayscaleTransformation implements Transformation<Bitmap> {
int width = source.getWidth(); int width = source.getWidth();
int height = source.getHeight(); int height = source.getHeight();
Bitmap bitmap = mBitmapPool.get(width, height, source.getConfig()); Bitmap.Config config =
source.getConfig() != null ? source.getConfig() : Bitmap.Config.ARGB_8888;
Bitmap bitmap = mBitmapPool.get(width, height, config);
if (bitmap == null) { if (bitmap == null) {
bitmap = Bitmap.createBitmap(width, height, source.getConfig()); bitmap = Bitmap.createBitmap(width, height, config);
} }
Canvas canvas = new Canvas(bitmap); Canvas canvas = new Canvas(bitmap);
@@ -54,8 +56,6 @@ public class GrayscaleTransformation implements Transformation<Bitmap> {
paint.setColorFilter(new ColorMatrixColorFilter(saturation)); paint.setColorFilter(new ColorMatrixColorFilter(saturation));
canvas.drawBitmap(source, 0, 0, paint); canvas.drawBitmap(source, 0, 0, paint);
source.recycle();
return BitmapResource.obtain(bitmap, mBitmapPool); return BitmapResource.obtain(bitmap, mBitmapPool);
} }

View File

@@ -48,9 +48,9 @@ public class RoundedCornersTransformation implements Transformation<Bitmap> {
int width = source.getWidth(); int width = source.getWidth();
int height = source.getHeight(); int height = source.getHeight();
Bitmap bitmap = mBitmapPool.get(width, height, source.getConfig()); Bitmap bitmap = mBitmapPool.get(width, height, Bitmap.Config.ARGB_8888);
if (bitmap == null) { if (bitmap == null) {
bitmap = Bitmap.createBitmap(width, height, source.getConfig()); bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
} }
Canvas canvas = new Canvas(bitmap); Canvas canvas = new Canvas(bitmap);
@@ -60,8 +60,6 @@ public class RoundedCornersTransformation implements Transformation<Bitmap> {
canvas.drawRoundRect(new RectF(margin, margin, width - margin, height - margin), canvas.drawRoundRect(new RectF(margin, margin, width - margin, height - margin),
radius, radius, paint); radius, radius, paint);
source.recycle();
return BitmapResource.obtain(bitmap, mBitmapPool); return BitmapResource.obtain(bitmap, mBitmapPool);
} }