清泛IT社区App Inventor 2 中文社区

搜索

扫码访问移动社区 移动社区,您的掌上技术专家

关注我,精彩不错过! 关注我,精彩不错过!

扫码安装最新版AI伴侣 最新版AI伴侣v2.72

Aia Store .aia 源码一站式解决方案 发布日志AI2连接测试ai2Starter模拟器

App Inventor 2 离线版AppInventor2拓展有奖征文 VIP会员 享专有教程,免费赠送基础版*技术支持服务! AI2入门必读中文文档中文教程IoT专题

查看: 9|回复: 0
打印 上一主题 下一主题

[已解决] 【拍照图片处理】Attempt to invoke virtual method 'boolean android.graphics.Bitmap.compress ...

  • TA的每日心情
    开心
    昨天 08:59
  • 签到天数: 299 天

    [LV.8]以坛为家I

    554

    主题

    960

    帖子

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    23537

    AI2中文网VIP弹球达人接水果达人撸猫达人

    跳转到指定楼层
    楼主
    发表于 昨天 21:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    在做图片识别App的时候,选择相册图片没有问题,拍照后图片就报错:
    Attempt to invoke virtual method 'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream)' on a null object reference

    图片大致的处理流程是:先TaifunImage压缩尺寸,在Base64化,调在线api进行识别。

    通过调试发现问题是出现在 图片的Resize/Base64化的步骤上,看报错是图片对象为空导致的。

    参考了一些英文资料,大致可能原因有:图片被占用,导致读取失败。或者图片已经被删除了。

    鉴于此,我加了一个步骤,即拍照后图片拷贝一份到App的目录下,然后使用App目录中的副本图片进行处理,完美解决!!!

    参考代码块如下:
    游客,如果您要查看本帖隐藏内容请回复
    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.72 支持Android 14 更新日志
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    © 2024 tsingfun.com, Inc.  沪ICP备2020034476号-1  沪公网安备31011702000040号

    GMT+8, 2024-12-12 07:27 , Processed in 0.025656 second(s), 40 queries .