其实JTOTO中报警的处理是通过设置:alarm、alarmColor和setImage(url)来实现的。

alarm属性不为null表示有节点报警;

alarmColor属性设置报警时图片的颜色。

报警时修改图片颜色为alarmColor的代码在jtopo-min.js中的changeColor方法中实现,具体代码如下:

        function changeColor(a,b,c){var d=c.split(","),e=parseInt(d[0]),f=parseInt(d[1]),g=parseInt(d[2]),h=canvas.width=b.width,i=canvas.height=b.height;a.clearRect(0,0,canvas.width,canvas.height),a.drawImage(b,0,0);for(var j=a.getImageData(0,0,b.width,b.height),k=j.data,l=0;h>l;l++)for(var m=0;i>m;m++){var n=4*(l+m*h);0!=k[n+3]&&(null!=e&&(k[n+0]+=e),null!=f&&(k[n+1]+=f),null!=g&&(k[n+2]+=g))}a.putImageData(j,0,0,0,0,b.width,b.height);var o=canvas.toDataURL();return o}function genImageAlarm(a,b){var c=a.src+b;if(alarmImageCache[c])return alarmImageCache[c];var d=new Image;return d.src=changeColor(graphics,a,b),alarmImageCache[c]=d,d}

但是有些图片报警效果并不如意。所以我做了些修改:

function changeColor(a, b, c) {var d = c.split(","), e = parseInt(d[0]), f = parseInt(d[1]), g = parseInt(d[2]), h = canvas.width = b.width, i = canvas.height = b.height; a.clearRect(0, 0, canvas.width, canvas.height), a.drawImage(b, 0, 0);  var j= a.getImageData(0, 0, b.width, b.height),k= j.data,len=k.length;   for (var l = 0; h > l; l++) for (var m = 0; i > m; m++) { var n = 4 * (l + m * h);0 != k[n + 3] && (null != e && (k[n + 0] += e), null != f && (k[n + 1] += f), null != g && (k[n + 2] += g))}//上面的代码不能注释,否则图片会变小    var qrcolor=c.split(',');for(var i=0;i<len;i+=4){k[i] = qrcolor[0]; k[i+1] = qrcolor[1]; k[i+2] = qrcolor[2];}a.putImageData(j,0, 0, 0, 0, b.width, b.height);var o = canvas.toDataURL(); return o
}

JTOPO 修改图片颜色相关推荐

  1. html修改img图片颜色,教你如何用CSS修改图片颜色

    原标题:教你如何用CSS修改图片颜色 看到题目是不是吓了一跳?css竟然还有这个操作?还真是第一次听说~ 原理嘛,其实很简单的,用到的就是 CSS3 滤镜filter中的drop-shadow,该滤镜 ...

  2. PS CC 2015 修改图片颜色和大小

    为什么修改图片颜色? [预期:]设计师给的设计稿两种颜色的图片,图片尺寸要求是48x48像素,一张绿色,一张白色. [实际]绿色图片符合要求,白色图片是40x40像素,偏小.测试妹子不干了!!! [解 ...

  3. iOS 修改图片颜色

    iOS小菜一碟:1:用代码修改图片颜色 首先需要是Xcode的assets里面的图片 选中图片 DraggedImage-1.png 在属性面板里可以看到Render As,选择Template Im ...

  4. 修改图片颜色 色相 饱和度 亮度 ColorMatrix

    Android开发中经常会遇到一些简单的图片处理,比如修改图片的颜色,饱和度,亮度等.今天就给大家介绍一下简单的图片处理. 基础知识 颜色的三要素 色调(色相/颜色):物体的颜色: 饱和度(彩度):色 ...

  5. 【python-小工具-3】抠图-透明化背景-修改图片颜色

    1.图片处理-修改颜色 有时候有种困扰!把网上的截屏,或者一般图片拖到PPT或者其他文档里面去,会有一个明显的白底框框. 放进PPT里面也太丑了点,干脆把图片的白底给弄透明,可就为这下个PS,不符合程 ...

  6. 技巧分享:如何利用CSS属性修改图片颜色?

    熟悉前端开发的小伙伴肯定有遇到过这种情况,那就是需要给一个图标或者图片增加一个移动变色等属性,传统做法就是再添加一个颜色的图片文件替换,那么有没有可能直接利用css属性来变更颜色呢? 其实是可以实现的 ...

  7. python实现批量修改图片颜色

    原本图片有两个颜色,但是颜色太接近了,看不清楚,所以使用以下程序把所有灰色转换成白色,看的更清晰. import os from PIL import Image# 源目录 MyPath = 'D:/ ...

  8. 前端技巧|利用CSS属性修改图片颜色

    熟悉前端开发的小伙伴肯定有遇到过这种情况,那就是需要给一个图标或者图片增加一个移动变色等属性,传统做法就是再添加一个颜色的图片文件替换,那么有没有可能直接利用css属性来变更颜色呢? 其实是可以实现的 ...

  9. 教你如何用CSS修改图片颜色

    看到题目是不是吓了一跳?css竟然还有这个操作?还真是第一次听说~ 原理嘛,其实很简单的,用到的就是 CSS3 滤镜filter中的drop-shadow,该滤镜可以给图片非透明区域添加投影.你可以理 ...

最新文章

  1. numpy库中ones和zeros函数传入的shape(表示各个维度的度数)参数的详解
  2. SQL server 实例教程
  3. 百度地图的简单使用 ——html js
  4. ntpdate[27350]: no server suitable for synchronization found
  5. 5、删除用户(DROP/DELETE USER)
  6. Python使用数字与字符串的技巧
  7. 打破PermGen神话
  8. 关于Gprmax正演模拟结果显示空白的原因分析
  9. vue项目原理分析-2:路由
  10. 上一次系统的关闭是意外的_教你如何一键极速重装系统
  11. word分页保存_搞定office丨Word快捷技巧第3弹!
  12. ncl 添加点shp文件_一:python读取shapefile文件
  13. 用OpenCV实现Otsu算法
  14. VLOOK Markdown 主题包和增强插件
  15. VisualDiffer for Mac(文件对比利器)支持m1
  16. 第 3 章 sqlmap - automatic SQL injection and database takeover tool
  17. 13届蓝桥杯c++组日常练习问题记录
  18. 保存Windows11聚焦图片教程
  19. Z490 AORUS PRO AX+i9-10850K黑苹果EFI引导文件
  20. 基于帕累托的多目标遗传算法优化的原理与 Python 实现

热门文章

  1. vue的生命周期函数
  2. ts_calibrate: Couldnt open tslib config file: No such file
  3. python3idl下载_选择Python还是IDL?
  4. Lombok基本使用方法
  5. 2018年总结,2019年展望!
  6. 查询整体的字体族(设置字体样式) - iOS
  7. vue-cli3,虾皮java开发面经
  8. java毕业生设计忆居民宿管理计算机源码+系统+mysql+调试部署+lw
  9. 解决火车头7.6版本无法采集部分https网站处理方法
  10. Windows Server 2008 安装教程——图文小白版(附下载地址)