Merge pull request #259 from lulee007/master

* fix: device.height is wrong when soft key bar displaying
* fix: the width of image returned by captureScreen() is 8 pixels more than the real width
This commit is contained in:
Stardust 2018-01-04 22:18:21 +08:00 committed by GitHub
commit 1257874bba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View File

@ -75,6 +75,7 @@ public class ImageWrapper {
int rowPadding = plane.getRowStride() - pixelStride * image.getWidth();
Bitmap bitmap = Bitmap.createBitmap(image.getWidth() + rowPadding / pixelStride, image.getHeight(), Bitmap.Config.ARGB_8888);
bitmap.copyPixelsFromBuffer(buffer);
bitmap = Bitmap.createBitmap(bitmap, 0, 0, image.getWidth(), image.getHeight());
return bitmap;
}

View File

@ -1,10 +1,13 @@
package com.stardust.util;
import android.app.Activity;
import android.graphics.Point;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.Surface;
import static java.lang.System.out;
/**
* Created by Stardust on 2017/4/26.
*/
@ -21,9 +24,13 @@ public class ScreenMetrics {
if (!initialized) {
DisplayMetrics metrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
deviceScreenHeight = metrics.heightPixels;
deviceScreenWidth = metrics.widthPixels;
// deviceScreenHeight = metrics.heightPixels;
// deviceScreenWidth = metrics.widthPixels;
deviceScreenDensity = metrics.densityDpi;
Point size = new Point();
activity.getWindowManager().getDefaultDisplay().getRealSize(size);
deviceScreenHeight = size.y;
deviceScreenWidth = size.x;
display = activity.getWindowManager().getDefaultDisplay();
initialized = true;
}