gpt4 book ai didi

Android - 在相机上显示网格线

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:19 26 4
gpt4 key购买 nike

我是 android 应用程序开发的新手。我想创建一个从相机获取流并显示在 SurfaceView 或 FrameLayout 上的应用程序。

我需要在流式传输“显示网格线”上方显示一个选项,当用户单击它时,网格线将显示在相机流中。

谁能帮我看看如何在相机流中显示网格线???

任何帮助将不胜感激...

谢谢。莫辛

最佳答案

如果您想根据屏幕尺寸动态绘制线条,那么您应该在相机预览类中使用以下代码。

    @Override  
protected void onDraw(Canvas canvas)
{
if(grid){
// Find Screen size first
DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics();
int screenWidth = metrics.widthPixels;
int screenHeight = (int) (metrics.heightPixels*0.9);

// Set paint options
paint.setAntiAlias(true);
paint.setStrokeWidth(3);
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.argb(255, 255, 255, 255));

canvas.drawLine((screenWidth/3)*2,0,(screenWidth/3)*2,screenHeight,paint);
canvas.drawLine((screenWidth/3),0,(screenWidth/3),screenHeight,paint);
canvas.drawLine(0,(screenHeight/3)*2,screenWidth,(screenHeight/3)*2,paint);
canvas.drawLine(0,(screenHeight/3),screenWidth,(screenHeight/3),paint);
}
}

您还需要在相机预览类的构造函数中添加以下行:

this.setWillNotDraw(false);

关于Android - 在相机上显示网格线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11764549/

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