gpt4 book ai didi

java - 将布局转换为图像,如何获得良好的质量?

转载 作者:行者123 更新时间:2023-12-01 14:56:48 25 4
gpt4 key购买 nike

我在 Android Activity 中有一个布局,我将其转换为图像,然后在不同的社交网络上分享。问题是质量根本不好,图像上有伪影,而且质量取决于屏幕的尺寸。

有什么办法可以提高质量吗?我无法将完整的布局图像作为静态图像存储在应用程序目录中,我需要在运行时生成它。

这是我用来将布局转换为 PNG 的代码。

Bitmap bitmap = null;   
try {
bitmap = Bitmap.createBitmap(dashboardView.getWidth(),
dashboardView.getHeight(), Bitmap.Config.ARGB_4444);
dashboardView.draw(new Canvas(bitmap));
} catch (Exception e) {
// Logger.e(e.toString());
}

FileOutputStream fileOutputStream = null;
File path = Environment
.getExternalStorageDirectory();
File file = new File(path, "wayzupDashboard" + ".png");
try {
fileOutputStream = new FileOutputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream);
bitmap.compress(CompressFormat.PNG, 100, bos);
try {
bos.flush();
bos.close();
fileOutputStream.flush();
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}

编辑:我的错,我留下了 ARGB_4444,事实是我在发布问题之前做了很多测试,我只是忘了把 ARGB_8888 放进去。在小屏幕的 Android 手机上,图像质量仍然很差。如果我能告诉在捕获布局时始终使用 HDPI 可绘制就好了。

最佳答案

ARGB_4444 意味着每个 channel 只有 4 位(质量非常差)。

使用ARGB_8888。

关于java - 将布局转换为图像,如何获得良好的质量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14255402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com