V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
winterbells
V2EX  ›  Android

隐藏 toolbar 导致 cameraX 拿到的图片异常(可能)

  •  
  •   winterbells · 2020-07-09 14:00:39 +08:00 · 7979 次点击
    这是一个创建于 1600 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我是使用 CameraX + ZXing 做个扫码工具的(自用)

    做完之后发现别的手机都能用,就我自己的 1+7P 不行…

    几经测试,发现是隐藏了 toolbar 导致 imageProxy 里的图片是花的

    只有是否隐藏 Toolbar 的区别

    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    

    如图,上面是预览界,下面的黑白图片是从 PlanarYUVLuminanceSource 里取的

    
    val luminanceSource = PlanarYUVLuminanceSource(data, image.width, image.height, 0, 0, image.width, image.height, false)
    
    val pixels = luminanceSource.renderThumbnail()
    
    val bitmap = Bitmap.createBitmap(image.width / 2, image.height / 2, Bitmap.Config.ARGB_8888)
    bitmap.setPixels(pixels, 0, image.width / 2, 0, 0, image.width / 2, image.height / 2)
    
    

    图一有 toolbar 情况图二没有

    正常状态

    隐藏 toolbar

    CameraX + ZXing 代码参考 -> [medium] ( https://medium.com/@msasikanth/qr-scanning-using-camerax-4757ed3687f8)


    小米 8 和另一部老手机都是可以的目前只在 1+7P OOS 上出了这个问题…

    对图像这块不熟,不知道这是哪儿出的问题。

    4 条回复    2020-07-10 12:28:18 +08:00
    winterbells
        1
    winterbells  
    OP
       2020-07-09 14:11:55 +08:00 via Android
    图片挂了。。。
    winterbells
        2
    winterbells  
    OP
       2020-07-09 16:36:26 +08:00 via Android
    果然没有人。。
    一加 6 HOS 是可以的。
    b1iy
        3
    b1iy  
       2020-07-10 10:57:20 +08:00   ❤️ 1
    图挂了。

    ----
    我没发现过这问题。btw, 如果是扫码,可以试试 CameraX 配合谷人希的 ML Kit,效果也就比微信差一点点。
    winterbells
        4
    winterbells  
    OP
       2020-07-10 12:28:18 +08:00 via Android
    @b1iy preview 设置成 9:16 就可以了。。。

    另外 preview 里面还有个 surface view,宽撑满,高 500 左右,!!有时!!会挡住原本在它上方的 view

    简直了,是一加问题还是我的问题[:吐血]
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4620 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 05:36 · PVG 13:36 · LAX 21:36 · JFK 00:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.