簡體   English   中英

如何在支持多種屏幕尺寸的android中截屏后立即添加圖標或水印圖像

[英]How to add icon or watermark image to immediately after taking screenshot in android with support multiple screen sizes

請在投票前重新閱讀我的問題,我想在拍攝后立即在截圖圖像中添加圖標或 png 圖像

我不知道這是不是一個好方法,但我試過這個

private static Bitmap addWaterMark(Bitmap src, Context context, String waterMarkImage) {
    int w = src.getWidth();
    int h = src.getHeight();
    Bitmap result = Bitmap.createBitmap(w, h, src.getConfig());
    Canvas canvas = new Canvas(result);
    canvas.drawBitmap(src, 0, 0, null);

    WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();
    DisplayMetrics metrics = new DisplayMetrics();
    display.getMetrics(metrics);
    int width = metrics.widthPixels;
    int height = metrics.heightPixels;
    Log.d(TAG, "Width X Height " + width + " X " + height);

    Point point = new Point();
    display.getSize(point);
    int maxX = point.x;
    int maxY = point.y;
    point.set(maxX, maxY);

    int maxWidth = (70 * width) / 100;
    int maxHeight = (80 * height) / 100;
    Log.d(TAG, "maxWidth X maxHeight " + maxWidth + " X " + maxHeight);

    Bitmap waterMark = null;
    if (waterMarkImage != null) {
        byte[] decodedByte = Base64.decode(waterMarkImage, 0);
        waterMark = BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
        waterMark = Bitmap.createScaledBitmap(waterMark, 250, 250, true);
    } else {
        waterMark = BitmapFactory.decodeResource(context.getResources(), R.drawable.sharelogo1);
    }
    canvas.drawBitmap(waterMark, maxWidth, maxHeight, null);

    return result;
}

它工作正常,但水印圖像大小和 position 不能按我想要的方式工作(不支持所有屏幕尺寸或分辨率)

在您的代碼段更改中

waterMark = Bitmap.createScaledBitmap(waterMark, 250, 250, true);

經過

waterMark = Bitmap.createScaledBitmap(waterMark, getpixels(250), getpixels(250), true);

並添加以下方法將 dp 轉換為像素

private float getpixels(float dipValue) {
        return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dipValue, Resources.getSystem().getDisplayMetrics());
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM