请问js如何获取剪贴板中的图片base64数据?
网友回复
js代码如下:
function retrieveImageFromClipboardAsBase64(pasteEvent, callback, imageFormat){ if(pasteEvent.clipboardData == false){ if(typeof(callback) == "function"){ callback(undefined); } }; var items = pasteEvent.clipboardData.items; if(items == undefined){ if(typeof(callback) == "function"){ callback(undefined); } }; for (var i = 0; i < items.length; i++) { // Skip content if not image if (items[i].type.indexOf("image") == -1) continue; // Retrieve image on clipboard as blob var blob = items[i].getAsFile(); // Create an abstract canvas and get context var mycanvas = document.createElement("canvas"); var ctx = mycanvas.getContext('2d'); // Create an image var img = new Image(); // Once the image loads, render the img on the canvas img.onload = function(){ // Update dimensions of the canvas with the dimensions of the image mycanvas.width = this.width; mycanvas.height = this.height; // Draw the image ctx.drawImage(img, 0, 0); // Execute callback with the base64 URI of the image if(typeof(callback) == "function"){ callback(mycanvas.toDataURL( (imageFormat || "image/png") )); } }; // Crossbrowser support for URL var URLObj = window.URL || window.webkitURL; // Creates a DOMString containing a URL representing the object given in the parameter // namely the original Blob img.src = URLObj.createObjectURL(blob); } } window.addEventListener("paste", function(e){ // Handle the event retrieveImageFromClipboardAsBase64(e, function(imageDataBase64){ // If there's an image, open it in the browser as a new window :) if(imageDataBase64){ // data:image/png;base64,iVBORw0KGgoAAAAN...... console.log(imageDataBase64); } }); }, false);完整的html代码如下:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> ...
点击查看剩余70%
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?
js在浏览器中如何使用MediaStream与MediaRecorder实现声音音频多轨道混流?