我已经设置了一个用JavaScript显示图像的画布,现在我正在尝试将图像转换为设置的调色板 . 我已经搜索了其他问题,甚至是MDN,并且无法在其上找到任何内容 .

我想出了这个:

var image = "http://upload.wikimedia.org/wikipedia/commons/d/d7/RGB_24bits_palette_sample_image.jpg";

var canvas = document.getElementById("c");

var context = canvas.getContext("2d");

// load image from data url

var imageObj = new Image();

imageObj.src = image;

imageObj.onload = function() {

context.drawImage(this, 0, 0);

};

var imgData = context.getImageData(0,0,canvas.width,canvas.height);

var data = imgData.data;

var palette = [[0,0,0],[118,38,64],[64,51,127],[228,52,254],[14,89,64],[128,128,128],[27,154,254],[191,179,255]];

for(var i = 0; i < data.length; i += 4) {

var red = data[i];

var green = data[i+1];

var blue = data[i+2];

var alpha = data[i+3];

min = 9999999999;

paleteMatch = null;

for (var j = 0; j < palette.length; j++) {

var lsd = (Math.pow(palette[j][0] - red, 2) + green + blue) / 3;

if (lsd < min) {

min = lsd;

paletteMatch = palette[j];

}

}

data[i] = paletteMatch[0];

data[i+1] = paletteMatch[1];

data[i+2] = paletteMatch[2];

}

imgData.data.set(data);

context.putImageData(imgData, 0, 0);

变量 data 似乎只持有 0 而没有别的 . 当它进入for循环时,这是一个问题,因为没有任何反应 . 据我所知,我没有做错任何事 .

为什么图像数据告诉我每个像素都是黑色的,我该如何解决这个问题呢?

java 画布实验报告_编辑画布图像相关推荐

  1. java象棋实验报告_中国象棋java程序设计实验报告

    中国象棋java程序设计实验报告 东北大学秦皇岛分校信息与计算科学系Java 程序设计实验报告专业名称 信 息 与 计 算 科 学班级学号 7080206学生姓名 彭 军指导教师 王 薇完成时间 20 ...

  2. java象棋实验报告_中国象棋java程序设计实验报告.doc

    中国象棋java程序设计实验报告.doc 东北大学秦皇岛分校 信息与计算科学系 Java 程序设计实验报告 专业名称 信息与计算科学 班级学号 7080206 学生姓名 彭 军 指导教师 王薇 完成时 ...

  3. java浏览器实验报告_关于java实验报告模板

    关于java实验报告模板 1.掌握Java Applet的程序结构和开发过程. 2.学会编写Applet对应的HTML文件,掌握从HTML文件向Applet传递参数的方法. 3. 掌握文本框对象的使用 ...

  4. java词法分析器实验报告_词法分析器实验报告(JAVA)

    实验一.词法分析实验 商业软件工程专业   张树恒  201506110093 一.实验目的 通过设计一个词法分析程序,对词法进行分析,加强对词法的理解,掌握对程序设计语言的分解和理解. 二.实验内容 ...

  5. java程序实验报告_实验报告一

    实验一 实验二 打开eclipse,创建一个java程序,再创建一个包,包下面创建一个类. 在第六行输入 System.out.println("My name is wujing, I l ...

  6. 嵌入式java闹钟 实验报告_《Java程序设计》第五次实验实验报告

    实验封面 一.实验内容 1.阅读理解源码 进入07_httpd所在的目录,使用vi编辑器理解源代码. 2.编译应用程序 使用gcc编译器,分别对文件夹下的copy.c和httpd.c进行编译,出现co ...

  7. java连连看实验报告_连连看实验报告

    一:题目简介 最近看到有很多同学在玩消消乐 连连看等这类小游戏,我就想着自己也要做一个简单的连连看小游戏,随便复习一下GUI 二:源码的github链接 https://github.com/joan ...

  8. 递归与分治java策略实验报告_递归与分治策略–计算机算法设计与分析

    递归概念:直接或者间接调用自身的算法,称为递归运算. 分治思想:把一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相等,递归解决子问题后再将结果合并 下方为一些应用函数.因为 ...

  9. 西电java实验报告 界面_西电计算机Java上机实验报告.docx

    西电计算机Java上机实验报告.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...

最新文章

  1. 输入十个学生的成绩,判断及格不及格人数,得到不及格人的学号
  2. java通过maven构建项目实现日志生成模拟(二)构建数据,FastJson方法的使用
  3. 快醒醒,C# 9 中又来了一堆关键词 init,record,with
  4. jira java接口生成问题
  5. 手把手教你用Matplotlib进行数据可视化
  6. 按任意字段排序的分页存储过程
  7. 从 Spring 的环境到 Spring Cloud 的配置
  8. [高精度整数] N的阶乘 [2006年清华大学计算机研究生机试真题]
  9. pyqt5优秀项目python_基于Pyqt5打造量化系统GUI
  10. 一个校园网络的规划与设计
  11. fterm 控制台乱码解决
  12. 延迟秋招总结,什么工作可以月薪过万?
  13. python排名上升_11点告诉你,Python为什么这些年在编程语言排行榜上一直上升?...
  14. 德州农工大学计算机专业研究生,德州农工大学计算机专业
  15. Problem G: 测量湖泊的平均水深
  16. Maven实战(四)--坐标
  17. java中计算百分比
  18. ACRCloud音乐识别python3版SDK,acrcloud_extr_tool.so导入报错
  19. 使用博图V15和KEPServerEX6软件进行OPC Server读取PLC数据仿真(对PLC数据采集和边缘计算程序测试的准备)
  20. ASP.NET的优点

热门文章

  1. 记一次支付系统的设计体验
  2. SQL基础(四):SQL命令
  3. MySQL数据库存储过程动态表建立(PREPARE)
  4. 基于linux服务器的性能分析与优化
  5. 找字符串中第一个只出现一次的字符
  6. vsftpd 默认配置文件
  7. 转:并口编程参考资料
  8. SD-WAN可以提高WAN性能的3种方式—Vecloud
  9. 【论文笔记】CNN for NLP
  10. 【LeetCode】13. Roman to Integer