look at only subset of pixels to check for alpha
This commit is contained in:
parent
53a038d90e
commit
ca496fd39f
|
@ -18,6 +18,7 @@ import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
|
import android.os.SystemClock;
|
||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
import android.provider.OpenableColumns;
|
import android.provider.OpenableColumns;
|
||||||
import android.system.Os;
|
import android.system.Os;
|
||||||
|
@ -223,8 +224,12 @@ public class FileBackend {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean hasAlpha(final Bitmap bitmap) {
|
private static boolean hasAlpha(final Bitmap bitmap) {
|
||||||
for (int x = 0; x < bitmap.getWidth(); ++x) {
|
final int w = bitmap.getWidth();
|
||||||
for (int y = 0; y < bitmap.getWidth(); ++y) {
|
final int h = bitmap.getHeight();
|
||||||
|
final int yStep = Math.max(1, w / 100);
|
||||||
|
final int xStep = Math.max(1, h / 100);
|
||||||
|
for (int x = 0; x < w; x += xStep) {
|
||||||
|
for (int y = 0; y < h; y += yStep) {
|
||||||
if (Color.alpha(bitmap.getPixel(x, y)) < 255) {
|
if (Color.alpha(bitmap.getPixel(x, y)) < 255) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -707,7 +712,7 @@ public class FileBackend {
|
||||||
private void copyImageToPrivateStorage(File file, Uri image, int sampleSize) throws FileCopyException, ImageCompressionException {
|
private void copyImageToPrivateStorage(File file, Uri image, int sampleSize) throws FileCopyException, ImageCompressionException {
|
||||||
final File parent = file.getParentFile();
|
final File parent = file.getParentFile();
|
||||||
if (parent.mkdirs()) {
|
if (parent.mkdirs()) {
|
||||||
Log.d(Config.LOGTAG,"created parent directory");
|
Log.d(Config.LOGTAG, "created parent directory");
|
||||||
}
|
}
|
||||||
InputStream is = null;
|
InputStream is = null;
|
||||||
OutputStream os = null;
|
OutputStream os = null;
|
||||||
|
@ -1180,7 +1185,7 @@ public class FileBackend {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (file.delete()) {
|
if (file.delete()) {
|
||||||
Log.d(Config.LOGTAG,"deleted "+file.getAbsolutePath());
|
Log.d(Config.LOGTAG, "deleted " + file.getAbsolutePath());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue