javascript - 在 Canvas 中打开本地镜像

标签 javascript jquery html

我正在尝试制作一个 javascript 图像颜色选择器。 是否可以在 Canvas 中打开本地镜像,而无需将其上传到服务器?

function draw() {
    var ctx = document.getElementById('canvas').getContext('2d');
    var img = new Image();
    img.onload = function(){
        ctx.drawImage(img,0,0);
    }

    img.src = $('#uploadimage').val(); 
}

<input type='file' name='img' size='65' id='uploadimage' />

最佳答案

并非所有浏览器(IE 和 Opera AFAIK)都支持,但您可以使用 File API 获取数据 URI

function draw() {
  var ctx = document.getElementById('canvas').getContext('2d')
    , img = new Image()
    , f = document.getElementById("uploadimage").files[0]
    , url = window.URL || window.webkitURL
    , src = url.createObjectURL(f);

  img.src = src;
  img.onload = function(){
    ctx.drawImage(img,0,0);
    url.revokeObjectURL(src);
  }
}

<input type='file' name='img' size='65' id='uploadimage' />

我添加了一个 fiddle here举个例子。

关于javascript - 在 Canvas 中打开本地镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10209227/

相关文章:

javascript - AJAX 不更新部分 View

javascript - 通过透明 div 传递点击和 jQuery 悬停的困境

javascript - 我们如何通过使用javascript重新排列它来获得与给定非负整数相似的所有可能非负整数的数量

javascript - 使用 vue-cli-service Electron :build 构建后的 Electron 空白屏幕

javascript - 具有单个字符串的数组被自动且不期望地转换为仅一个字符串

javascript - 在多个页面上平滑滚动导航

html - 如何从上传的 png 文件中打开 Google Colaboratory notebook 单元格中的图像?

javascript - 如何在 TypeScript 中以嵌套方式导出多个接口(interface)?

javascript - 如何找到数组中缺失值的索引?

android - 获取android中html的所有元素和值