cordova - 从实时相机预览中获取特定像素的颜色 - Ionic

标签 cordova ionic-framework mobile camera ionic3

我正在尝试重新创建与此类似的功能:http://tvbarthel.fr/CameraColorPicker/resources/Screenshot_2015-05-17-17-04-27_framed.png使用 ionic 。

屏幕截图展示了实时相机预览中的内圆,它抓取颜色以及外圆,它显示当前正在查看的像素的颜色。

我可以使用叠加层进行实时相机预览,但我不知道从哪里开始从屏幕上的特定位置抓取颜色。

我知道你可以用这种方式拍照并获取颜色,但这不是我想要的功能,我正在寻找一些可以让我实时查看结果的东西。

这个功能可以实现吗?如果是这样,我该怎么做?

最佳答案

Can this functionality be achieved? If so, how can I do this?

我在我的应用程序中遇到了类似的情况,因此认为这会有所帮助。

我正在创建一个用于实时图像处理的 Cordova-Angular 混合应用程序:

  1. 打开前置摄像头并显示摄像头前面的不同物体。

  2. 如果在字典中找到对象,则显示成功消息并停止预览。

步骤如下:

  1. 创建了新的 Cordova 插件,可以在预览模式下启动相机。要获取预览的当前图像,您需要重写 onPreviewFrame 方法。

  2. 获取图像的缓冲区并对其进行转换和匹配。

  3. 根据成功/失败调用回调方法。

现在我认为在您的情况下,步骤 1 将与一些其他步骤相同。

  1. 创建新的 Cordova 插件,它将在预览模式下启动相机。要获取预览的当前图像,您需要重写 onPreviewFrame 方法。

  2. 重写onTouchEvent方法计算ImageView内部的点,同时计算onPreviewFrame方法内部框架的像素。

  3. 获得结果后,只需用结果更新 View 即可。

而且我认为这个 ionic 应用程序的主要部分仍然是原生的。Cordova 只会做桥接。

引用文献:

  1. http://topandroidphones1.blogspot.com/2012/04/get-color-on-specified-location-from.html

  2. OnPreviewFrame data image to imageView

  3. Get the touch position inside the imageview in android

  4. How to Get Pixel Color in Android

  5. Capturing the Camera Preview with a PreviewCallback

关于cordova - 从实时相机预览中获取特定像素的颜色 - Ionic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46864173/

相关文章:

node.js - 在使用Angular应用程序运行Lighthouse之后注册一个卸载监听器

android - ionic 2 : Add platform doesn't work

reactjs - 你可以将 Redux 与 Ionic/React 一起使用吗?

javascript - DIV 在内容改变之前跳到顶部

ios - Windows 中的 "cordova run ios "不起作用

android - 如何降低 VS 工具为 Apache Cordova 创建的 Android 应用程序的安全风险?

css - 移动浏览器上的流体固定布局问题

java - 通过 USB 调试时如何以编程方式获取设备的 Android 版本

android - Cordova Android构建版本代码与Gradle

ios - 如何在 Ionic iOS 中显示图库中的视频