javascript - HTML Canvas 允许用户从文件加载图像

标签 javascript jquery p5.js

我正在尝试在我的 Canvas 上创建一个功能,用户可以单击加载按钮,允许他们从计算机上的任何文件加载图像,并加载图像以填充 Canvas 。我已将迄今为止所掌握的内容包含在下面:

function loadTool() {
  var img;
  this.name = "loadTool";
  this.icon = "assets/loadButton.png";
  img = loadImage("assets/star.png");

  this.draw = function() {
    background(img, 0, 0);
  }
}

我正在使用 p5.js 库。我希望允许用户选择保存在计算机上的自己的图像,并用图像填充 Canvas ,而不是从 loadImage 手动加载图像。

最佳答案

您可以使用 P5.dom 帮助程序库提供的 createFileInput() 函数。

来自the reference :

var input; 
var img; 

function setup() { 
  input = createFileInput(handleFile); 
  input.position(0, 0); 
} 

function draw() { 
  if (img) { 
    image(img, 0, 0, width, height); 
  } 
} 

function handleFile(file) { 
  print(file); 
  if (file.type === 'image') { 
    img = createImg(file.data); 
    img.hide(); 
  } 
}

关于javascript - HTML Canvas 允许用户从文件加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49615943/

相关文章:

javascript - 使用简单反射代理的流行 'vaccumCleaner' 玩具问题解决方案

javascript - 与 Angular 一起使用时,p5.js 中的变量未定义?

javascript - 字符串在 javascript 中拆分?

javascript - TinyMCE4 file_picker_callback - 返回附加参数

javascript - Google 表格的查找/颜色脚本,访问外部循环变量不起作用

javascript - 为什么这个 promise 不起作用?

javascript - 鼠标移出时恢复功能

javascript - set array = 多维对象数组的一维值

javascript - 漂亮图片库中的 Facebook Like 按钮

javascript - js.p5 表对象 : access row using a string, 类似于列标题