首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条码扫描时如何装饰摄像头预览?

条码扫描时如何装饰摄像头预览?
EN

Stack Overflow用户
提问于 2019-11-13 21:28:31
回答 1查看 125关注 0票数 0

我想创建一个条形码扫描器活动,我找到了这个很好的教程:http://www.devexchanges.info/2016/10/reading-barcodeqr-code-using-mobile.html

如何使用检测到的区域(带点或矩形)装饰预览图像。

EN

回答 1

Stack Overflow用户

发布于 2019-11-13 21:38:48

将另一个透明视图放在您的SurfaceView上,并在其上绘制。第二个视图将松散耦合,所以有一些数学涉及到它的正确匹配装饰与相机输出。

所以在你的activity_main.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="16dp">

    <SurfaceView
        android:id="@+id/surface_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true" />

    <com.yourApp.YourDecoratorView
        android:id="@+id/decorator_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true" />
    ...
</RelativeLayout> 

然后,创建一个自定义视图:

代码语言:javascript
复制
class YourDecoratorView @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null,
    defStyleAttr: Int = 0
) : View(context, attrs, defStyleAttr) {

    ... initializing code

    override fun onDraw(canvas: Canvas?) {
        super.onDraw(canvas)

        // your code
        canvas?.drawLine(0f, 0f, 0f, paint)
    }
}

如果您只想显示静态视觉效果,请使用ImageView而不是自定义视图,并创建您想要的可绘制内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58838221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档