Android 将 View 转换为位图

标签 android canvas layout view bitmap

我正在尝试将 View 转换为位图,但我失去了黑色。我正在这样转换:

Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(),view.getHeight(), Bitmap.Config.ARGB_8888);

Example

如何转换为位图才能使百分比值的黑色不丢失?

谢谢, 问候

最佳答案

您好,您可以使用此方法将 View 转换为位图

private Bitmap createBitmapFromView(Context context, View view) {
        DisplayMetrics displayMetrics = new DisplayMetrics();
        ((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
        view.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

        view.measure(displayMetrics.widthPixels, displayMetrics.heightPixels);
        view.layout(0, 0, displayMetrics.widthPixels, displayMetrics.heightPixels);
        view.buildDrawingCache();
        Bitmap bitmap = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(), Bitmap.Config.ARGB_8888);

        Canvas canvas = new Canvas(bitmap);
        view.draw(canvas);

        return bitmap;
    }

关于Android 将 View 转换为位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34272310/

相关文章:

java - 如何从 Android 项目中删除 Kotlin 支持?

android - 在 Android 上运行时禁用屏幕旋转

javascript - HTML5 Canvas 在绘制的多边形内寻找对象

javascript - 找到具有相同颜色的相邻 block

Delphi重新创建 Canvas

ios - UICollectionview 立即布局更新

android - 在 Eclipse 中制作所需的布局

android - 通过 ConstraintLayout 在两个维度上使用比率来显示 3 个相同大小的正方形

android - 坐标布局下工具栏重叠activity

html - 又一个 HTML/CSS 布局挑战——带有粘性页脚的全高侧边栏