gpt4 book ai didi

java - 无法解码流: java. io.FileNotFoundException :/drawable/fa_diesis. png:打开失败:ENOENT(没有这样的文件或目录)

转载 作者:行者123 更新时间:2023-12-01 16:35:22 25 4
gpt4 key购买 nike

我是 Android 开发新手,正面临这个问题。我想使用 CanvasdrawBitmap() 函数在屏幕上插入 png 图像。但是当我尝试解码此类图像时,我收到此错误:

无法解码流:java.io.FileNotFoundException:/drawable/fa_diesis.png:打开失败:ENOENT(没有这样的文件或目录)W/System.err:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int android.graphics.Bitmap.getWidth()”

以下代码:

 private void drawImage(float x, float y){
File file = new File("drawable/fa_diesis.png");
Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
Rect source = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
Rect bitmapRect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
canvas.drawBitmap(bitmap, x, y, new Paint());
}

drawable 文件夹中,我有以下结构: res folder image.我注意到我想使用的照片有标签(androidTest),也许它不应该有它。

有人可以帮忙吗?谢谢。

最佳答案

您可以尝试重新复制粘贴您的图像。该文件应该只有名称,不带 androidTest.txt。添加图像时,确保目录位于\app\src\main\res\drawable

然后删除文件类,变量还更改以下代码以将可绘制的图像访问为位图

Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());

成为

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.fa_diesis);

方法

private void drawImage(float x, float y) {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.fa_diesis);
Rect source = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
Rect bitmapRect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
canvas.drawBitmap(bitmap, x, y, new Paint());
}

希望对你有帮助

关于java - 无法解码流: java. io.FileNotFoundException :/drawable/fa_diesis. png:打开失败:ENOENT(没有这样的文件或目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61960924/

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