Java android 从 imageView 和 TextView 获取一张位图

标签 java android

我的 View 中有 imageView 和 textView 在 LinearLayout 中,我想从这两个控件中获取一个位图。我尝试这样做:

public static Bitmap loadBitmapFromView(View v) {
    Bitmap b = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(b);
    v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
    v.draw(c);
    return b;
}

但是我的应用程序崩溃了,我看到了这个:

 Caused by: java.lang.IllegalArgumentException: width and height must be > 0

最佳答案

if (v.getMeasuredHeight() <= 0) {
    v.measure(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    Bitmap b = Bitmap.createBitmap(v.getMeasuredWidth(), v.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(b);
    v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
    v.draw(c);
    return b;
}

关于Java android 从 imageView 和 TextView 获取一张位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55901370/

相关文章:

Java,对末尾较长条目的ArrayList进行特殊排序

java - 使用 open office 将 excel (.xlsx) 转换为 pdf (.pdf) 时缺少工作表和页面大小问题

java - JSR-286 portlet 是否需要在其 WAR 文件中包含 web.xml 文件?

android - 检查wifi扫描是否完成

android - 无法更改 Android 应用程序的默认图标?

java - 如何找到多个点的中心?安卓

c# - 如何从 C# 转换为 Java JDBC

java - 避免在 Java 中未经检查的嵌套映射转换

java - 在 Amazon AWS 上启动 Spring Boot 应用程序,如何设置目标运行时

Android:恢复带有动画 View 的 Activity 后,如何启动应用于 ImageView 的无限动画?