如何将图像转换为字符串

时间:2016-06-02 17:13:25

标签: javascript

如何将图像转换为字符串,如果是utf或ancii或其他什么都不重要。我想做的就是拍摄图像并将其转换为文本,以便将其存储在文本文件中,然后对其进行解码。

是的,当然我用JS做这件事,而我试图转换的图片都是JPEG。

4 个答案:

答案 0 :(得分:2)

您可以在画布中绘制图像,将其编码为base64,然后将其用作文本。几乎所有语言都可以在base64和图像之间进行转换。

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img= new Image();
img.src = "your url to image";
ctx.drawImage(img,0,0);
c.toDataURL();
//c now contains the base64 encoding of your image

画布也可以动态创建,而不是作为页面的一部分。您还可以等待图像上的onLoad事件。

答案 1 :(得分:1)

使用canvas ..这是从程序中复制的代码

function fun_nam(url,back, op){
var img = new Image();
img.crossOrigin = 'Anonymous';
img.onload = function(){
    var canvas = document.createElement('CANVAS');
    var ctx = canvas.getContext('2d');
    var dataURL;
    canvas.height = this.height;
    canvas.width = this.width;
    ctx.drawImage(this, 0, 0);
    dataURL = canvas.toDataURL(op);
    back(dataURL);
    canvas = null; 
};
img.src = url;

}

一些细节......

HTMLCanvasElement.toDataURL()方法返回一个数据URI,其中包含由type参数指定的格式的图像表示(默认为PNG)。返回的图像分辨率为96 dpi。

语法:canvas.toDataURL(type,encoderOptions);

<强>参数

输入|可选

  • 指示图像格式的DOMString。默认类型为image / png。

encoderOptions |可选

  • 如果请求的类型是image / jpeg或image / webp,则介于0和1之间的数字表示图像质量。 如果此参数为其他参数,则使用图像质量的默认值。默认值为0.92。其他参数被忽略。

返回值

  • 包含请求的数据URI的DOMString。

实际上我们使用drawImage函数绘制图像数据,然后使用toDataURL函数获取base-64编码的图像数据:url。 只有在加载完整的图像后才能进行编码。否则解码后会得到一些破碎/灰色类型的图像。

答案 2 :(得分:0)

答案 3 :(得分:0)

您可以将图像转换为文本数据。检查上一个答案。

使用JavaScript获取图像数据? https://stackoverflow.com/a/934925/5378536

但是,有CORS问题。检查以下问题。

toDataURL抛出Uncaught Security异常https://stackoverflow.com/a/20027883/5378536

祝你好运。