草庐IT

camera - CustomPaint Over Camera Preview

coder 2023-05-09 原文

我正在尝试在 Flutter 中的相机预览上显示 CustomPaint 元素。现在,CustomPaint 元素显示在相机预览下方。我正在使用 Flutter camera plugin显示相机预览。我的代码如下。

class _CameraPreviewState extends State<CameraPreview> {

  [...]

  Widget build(BuildContext context) {
  double height = MediaQuery.of(context).size.height;

  return new YidKitTheme(
    new Center(
      child: _isReady
        ? new Container(
          height: height / 2,
          child: new CustomPaint(
            painter: new GuidelinePainter(),
            child: new AspectRatio(
              aspectRatio: controller.value.aspectRatio,
              child: new CameraPreview(controller)
            ),
          )
        )
        : new CircularProgressIndicator()
      )
    );
  }
}

class GuidelinePainter extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {
    Paint paint = new Paint()
      ..strokeWidth = 3.0
      ..color = Colors.red
      ..style = PaintingStyle.stroke;

    var path = new Path()..lineTo(50.0, 50.0);
    canvas.drawPath(path, paint);
  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) => true;
}

最佳答案

改变

      child: new CustomPaint(
        painter: new GuidelinePainter(),
        child: new AspectRatio(

      child: new CustomPaint(
        foregroundPainter: new GuidelinePainter(),
        child: new AspectRatio(

painter 先绘制(即背景),然后绘制 child,然后 foregroundPainter 最后绘制在子元素之上

关于camera - CustomPaint Over Camera Preview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50473495/

有关camera - CustomPaint Over Camera Preview的更多相关文章

  1. javascript - Firefox 权限 : 'name' member of PermissionDescriptor 'camera' is not a valid value for enumeration PermissionName - 2

    我正在制作一个网络应用,需要使用权限查询来检查是否已授予用户相机访问权限。我试过代码:navigator.permissions.query({name:'camera'}).then(function(result){console.log(result);});它在GoogleChrome70上运行良好,但在firefox上出现错误:TypeError:PermissionDescriptor“camera”的“name”成员不是枚举PermissionName的有效值。我一直在寻找这个问题,但没有任何帮助。有人能帮帮我吗?谢谢, 最佳答案

  2. javascript - 如何 Jest 模拟 react-native-camera? - 2

    我正在尝试测试react-native-camera模块与jest所以我有以下package.json:{"name":"app","version":"0.0.1","private":true,"main":"index.js","license":"MIT","scripts":{"start":"nodenode_modules/react-native/local-cli/cli.jsstart","test":"jest"},"dependencies":{"react":"~15.4.0-rc.4","react-native":"0.40.0","react-nativ

  3. javascript - Three.js tween camera.lookat - 2

    我尝试使用Tween.js在Three.js中对camera.lookAt进行补间,但收效甚微。这行得通selectedHotspot=object;vartween=newTWEEN.Tween(camera.lookAt(object.position),600).start();而是将相机直接旋转到object.position。如何获得平滑的旋转?这是渲染函数functionupdate(){lat=Math.max(-85,Math.min(85,lat));phi=THREE.Math.degToRad(90-lat);theta=THREE.Math.degToRad(l

  4. javascript - 'el' 在 vi​​ew.render().el 中做了什么? - 2

    我正在努力学习Backbone。我知道el是正在执行的元素。如果未指定,则为空div。我正在我的View中创建一个模板并返回View对象。然后我正在渲染View,但我不明白为什么我在渲染函数之后链接el。有人可以向我解释这行代码吗:varview=newPersonView();this.$('#family_list').children().append(view.render().el);el是做什么用的?谢谢。 最佳答案 jQuery的.append()方法期望将HTML字符串或DOM元素附加到其调用节点。.elView的属

  5. xml - 发送至 EWS 的 SOAP 消息将邮件创建为普通邮件,而不是草稿 - 2

    在EWS中,您可以像这样创建草稿:IPM.Notesubjectbodyfalse我需要添加什么来创建常规消息而不是草稿,就像上面的代码所做的那样(使用SOAP消息,而不是托管API)? 最佳答案 设置扩展的MessageFlags属性就可以了!必须在创建时完成。IPM.Notesubjectbodyfalse1 关于xml-发送至EWS的SOAP消息将邮件创建为普通邮件,而不是草稿,我们在StackOverflow上找到一个类似的问题: https://st

  6. c# - 使用 Exchange Web 服务 (EWS) API 查找 Exchange Server 版本的方法 - 2

    我正在尝试编写一种方法来查找我通过EWS连接到的ExchangeServer的ExchangeServer版本。很明显,读取EWS请求的响应XML的内容包含此信息,如describedhere.我很好奇我是否必须测试和错误处理,或者是否有另一种“侵入性较小”的方法来查找Exchange版本。如何找到我尝试使用EWS访问的Exchange服务器的版本,以便我可以为EWS管理的API事件设置它?我目前正在使用以下方法,但我无法想象这是最有效的方法?foreach(ExchangeVersionexchverinEnum.GetValues(typeof(ExchangeVersion)))

  7. xml - 交换 : Find items in EWS conversation using XML request? - 2

    我正在尝试使用ExchangeEWS2010在对话中查找项目,不管它们所在的文件夹。而且我不想获取所有conversationId的列表一个文件夹。我想按对话查询对话。我在Android上执行此操作,并且一直在为其他EWS请求发送XMLsoap请求。我的问题是:如果是ConversationId,应该如何格式化XML以在单个对话中检索项目?我试过将FindItem与Restriction和QueryString一起使用,但似乎都没有给出任何结果。有办法吗?我熟悉“FindConversations”操作,但它似乎返回文件夹中所有对话的所有消息。我想要特定对话的消息。这是我尝试过的2个示

  8. xml - Microsoft EWS 推送通知响应消息 - 2

    我们目前正在使用来自MicrosoftExchangeWeb服务的推送通知,以便在创建新日历事件时调用我们的服务。起初这似乎工作正常。我们正在收到验证消息并回复:OK不幸的是,交换服务器只是继续以越来越长的间隔向我们发送验证消息,就好像我们的响应格式不正确一样。有谁知道为什么Microsoft不接受我们的回复消息? 最佳答案 我认为您的XML标记应命名为而不是.试试看,如果您有任何问题,请告诉我们。 关于xml-MicrosoftEWS推送通知响应消息,我们在StackOverflow上

  9. java - 关于 com.jcraft.jsch.JSchException : UnknownHostKey: x. y.com 的查询。 DSA key 指纹为 "ac:ew:...." - 2

    我在尝试从AWS集群连接到其中一台Windows服务器时出现以下错误。Causedby:com.jcraft.jsch.JSchException:UnknownHostKey:x.y.com.DSAkeyfingerprintis"ac:ew:.....注意:我使用PuTTYgen生成了RSAkey,但每次它尝试连接时都会出现DSA指纹问题。我引用了多个SO链接,但无法获得正确的解决方案。最后,我根据其中一篇文章尝试了以下方法。首次使用StrictHostKeyChecking作为no获取session。完成后,将结果保存到AWS服务器上的已知主机文件,以便下次尝试连接到Window

  10. 【Android Camera2】彻底弄清图像数据YUV420_888转NV21问题/良心教学/避坑必读! - 2

    前言  只要是使用AndroidCamera2开发相机相关功能的小伙伴,必然会和相机数据打交道吧。本文不讲解相机相关的操作,只是详细地讲解得到相机图像后,如何将图像Image转成NV21/NV12的数据的。  你可能会说,这个问题很普通了,网上都有现成的代码,拿过来直接用就行了~然而网上的代码大多数(最少我找到的)都是存在一定错误(或者是性能过低)。你是否存在如下问题?  是否遇到转成的NV21数据转成RGB可用,但是在使用OpenGL绘制图像时得不到正确纹理?转成的NV21数据在Java里可用,在Jni里却挂掉了?  是否遇到图像数据用的好好的,换一个图像分辨率代码就失效了?  这些都是我遇

随机推荐