javascript - 我无法在 JavaScript 上重置图像
问题描述
我无法在 javascript 上重置图像,codepen 说 imagem in not defined。
Codepen 链接:https ://codepen.io/AlissonTelez/pen/ExPJBvv
那是变量:
var originalImage;
var grayImage = null;
var redImage = null;
var rainbowImage = null;
var windowImage = null;
var canvas = document.getElementById("can1");
那就是使过滤器变红的功能:
function makeRedy() {
if (imgCarregada(imagemRedy)) {
filtroVermelho();
var canNovo = document.getElementById("can");
imagemRedy.drawTo(canvas);
}
}
function filtroVermelho() {
for (var pixel2 of imagemRedy.values()) {
avg2 = (pixel2.getRed()+pixel2.getGreen()+pixel2.getBlue()/3);
if (avg2 < 128) {
pixel2.setRed(2*avg2);
pixel2.setGreen(0);
pixel2.setBlue(0);
}
else {
pixel2.setRed(255);
pixel2.setGreen((2*avg2)-255);
pixel2.setBlue((2*avg2)-255);
}
}
}
那是重置功能:
function resete() {
if (imgCarregada(imagem)) {
imagem.drawTo(canvas);
}
}
function imgCarregada(x) {
if (x === null) {
return false;
}
else if (x !== null) {
return true;
}
}
解决方案
你还没有定义imagem
。但看起来您的原始图像被存储为imagemOriginal
.
将您的resete()
功能更改为此;
function resete() {
if (imgCarregada(imagemOriginal)) {
imagemOriginal.drawTo(canvas);
}
}
基于您的CodePen。这似乎与您在问题中粘贴的内容不同。
推荐阅读
- python - 在删除 Pandas 数据框中的某些元素时交换列
- this - 使用类方法的部分应用
- r - R中涉及两个下标的计算
- r - 总结数据帧 R 中每组的输出
- excel - 如何从范围中查找每个逗号分隔的值?
- perl - local 在标准流/裸字文件句柄上做了什么:STDIN?
- reactjs - React:将组件作为属性添加到另一个的模式的名称?
- r - 使用 Plotly (R) 创建交互式等值线图
- asp.net - 将 GET 发送到 IIS 10 Web 服务器时 - ASP 页面出现 301 错误,所有其他内容都使用 200 检索
- azure-keyvault - 将 azure key Vault 集成到红帽 Linux 服务器