【通知】本文的新升级版发布于 https://blog.csdn.net/xxxhhhyxy/article/details/117389897,并且已有新的工程包可供下载,请诸位移架观看。

同志们想我了吗?!我想也没有。

最近因为工程需要,通过UGUI设计了能够根据实时数据更新的动态图线,也就是像心电图那样。我从凯尔八阿哥的博客中得到绘制图线的启发,但添加了自己的实时设计,并且消耗的内存较小。

1.首先创建一个UI ==>RawImage作为呈现图像的窗口。

2.使用代码创建texture,赋给RawImage,作为呈现图线的纹理。

//初始化纹理m_texture = new Texture2D(graphWidth, graphHeight);m_rawImage.texture = m_texture;m_rawImage.SetNativeSize();

3.创建一个一维颜色数组(用于迭代图线)和一个一维列表(用于记录获取的数据)。

        pixels = new Color[graphWidth * graphHeight];data = new List<int>();data.Add(0);//0 时刻接受的数据值为0

4.设置图线背景颜色

        for (int i = 0; i < pixels.Length; i++){pixels[i] = GraphBackground;}m_texture.SetPixels(pixels);m_texture.Apply();

5.在update中接收数据并绘画图线

        data.Add(datapoint);for (int j = data.Count - 1; j >= Mathf.Max(0, data.Count - graphWidth); j--){pixels[data[j] * graphWidth + graphWidth - data.Count + j] = LineColor;}m_texture.SetPixels(pixels);m_texture.Apply();for (int j = data.Count - 1; j >= Mathf.Max(0, data.Count - graphWidth); j--){pixels[data[j] * graphWidth + graphWidth - data.Count + j] = GraphBackground;}

倘若高度200,宽度200,那么整幅图共有40000点。

正常情况渲染时计算出40000个点后对整张图片进行渲染更新。而我在每一帧渲染完图线之后立刻沿着图线点、用背景色重新覆盖了一遍——只是将图线点重新赋值为背景色。也就是说我每一帧只有400次像素赋值——200次划线、200次擦除。

而且同样每帧只调用一次apply()。

这次没办法上传gif,以下三张图片是连贯的变化,是不是可以用来呈现心电图数据呢?

--------

【通知】本文的新升级版发布于 https://blog.csdn.net/xxxhhhyxy/article/details/117389897,并且已有新的工程包可供下载,请诸位移架观看。

Unity工程链接

  

使用Unity UGUI根据实时数据动态绘制图线(心电图)相关推荐

  1. python动态图形_利用matplotlib实现根据实时数据动态更新图形

    我就废话不多说了,直接上代码吧! from time import sleep from threading importThread import numpy as np import matplo ...

  2. 用Python爬取股票数据,绘制K线和均线并用机器学习预测股价(来自我出的书)

    最近我出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中用股票范例讲述Pyth ...

  3. 用Python爬取股票数据,绘制K线和均线并用机器学习预测股价

    最近我出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,在其中用股票范例讲述Python爬虫.数据分析和机器学习的技术,大家看了我的书,不仅能很快用比较热门的案例学好P ...

  4. 用Python爬取股票数据,绘制K线和均线并用机器学习预测股价(来自我出的书)(转载)

    最近我出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中用股票范例讲述Pyth ...

  5. Unity UGUI图集打包与动态使用(TexturePacker)

    TexturePacker 在用UGUI时,我们需要将一个个小图打包成图集,然后将图集一次性加载以内存换取图片读取效率,即减小Drawcall. UGUI打包并使用图集有两种方法:一种是使用系统自带的 ...

  6. python爬取新冠状病毒实时数据,绘制各省份疫情地图

    想法: 偶然接触爬虫之后,想要试试爬取新冠状病毒的数据,但本人是编程小白,只能从网上寻找代码进行学习,在看过博主Hakuna_Matata_001的代码之后,可以说是将其默写出来了,然后加入了自己的一 ...

  7. 用Python抓新型冠状病毒肺炎实时数据,绘制市内疫情地图

    说明: 本文是Python可视化技术结合时下热点进行进行开发.讲解的案例,也是计算机编程课程思政的一个形式.文章遵守CSDN平台规定和国家法规(非新闻资质的网站不允许发布疫情数据),对运行结果图片中的 ...

  8. 【转】Python之获取每日涨停板股票数据并绘制K线图!

    利用tushare财经数据接口获取股市进行数据分析.并可视化的案例 1.导入所需要的库 import os import pandas as pd import tushare as ts impor ...

  9. Python之获取每日涨停板股票数据并绘制K线图!

    利用tushare财经数据接口获取股市进行数据分析.并可视化的案例 1.导入所需要的库 import os import pandas as pd import tushare as ts impor ...

最新文章

  1. Python3 之 JSON
  2. PHP是弱类型语言,自动转换,强制转换
  3. 拷贝的代码中去除行号的方法
  4. DevExpress v18.1新版亮点——WinForms篇(四)
  5. 打开另外一个页面_如何在PDF页面中插入图片?
  6. dockfile应用(二)
  7. 在微型计算机中8m,第一部分 计算机基础知识部分习题(答案)
  8. vue复选框组件自定义对勾_vue2.0中ckeckbox(复选框)的使用心得,及对click事件和change的理解...
  9. ASP.NET之ScriptManager和ClientScriptManager
  10. xcodebuild -exportArchive -allowProvisioningUpdates
  11. linux通过数字权限设置密码,linux--权限管理和用户管理
  12. 基于Go调用国密SM2算法
  13. ICCAP2016如何调用ads的仿真器hpeesofsim
  14. input密码框显示与隐藏
  15. 计算机专业知识教学,2016计算机专业知识:计算机的分类(一)
  16. 没用完的手机流量是否清零?讨论+吐槽
  17. 中国大学 MOOC C语言程序设计----编程部分答案解析
  18. dB、dBm、dBc等概念的解释
  19. 梯形求积公式 和 复合梯形求积公式 Matlab 实现
  20. [转载]你遇见的事都是因你而生,你所遇见的人都是为你而来(自赵星)

热门文章

  1. 电商千万用户 mysql设计_Mysql电商设计用户模块 一
  2. 【云栖大会】基因行业陷入“怪圈”,数据存储成本竟然超过检测成本
  3. 微信公众号 h5微信充值功能
  4. 【云原生进阶之容器】第二章Controller Manager原理2.8节--Resync机制
  5. 无辜被黑 我在北大青鸟的真实工作经历(转)
  6. 把 html标签转化为 html标签代码
  7. 完美陌生人百度云资源
  8. stm32f10x_conf.h是个什么东东?
  9. HTTPS原理解析-转
  10. HTML 练习案例旅游网站首页