首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Javascript中将图像转换为内存流数据

在Javascript中将图像转换为内存流数据
EN

Stack Overflow用户
提问于 2015-09-17 07:09:30
回答 2查看 4K关注 0票数 0

我使用jquery.qrcode库生成qr代码映像。我得到以下格式的图像。

代码语言:javascript
运行
复制
<img src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7"/>

我想打印这个图像,并添加一些文本(因为这是一个qrcode)。当图像是从C#的后端绘制时,我知道如何打印图像。我是否可以将此图像转换为内存流数据以发送到C#,或者在绘制图像时可以从Javascript打印?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-17 07:26:11

使用ajax调用发送图像base64 url

在C#端使用此函数

代码语言:javascript
运行
复制
public Image Base64ToImage(string base64String)
{
  // Convert Base64 String to byte[]
  byte[] imageBytes = Convert.FromBase64String(base64String);
  MemoryStream ms = new MemoryStream(imageBytes, 0, 
    imageBytes.Length);

  // Convert byte[] to Image
  ms.Write(imageBytes, 0, imageBytes.Length);
  Image image = Image.FromStream(ms, true);
  return image;
}
票数 3
EN

Stack Overflow用户

发布于 2015-09-17 07:30:25

您可以直接从JavaScript打印,不需要将其转换或发送到c#。c#位于后端,我相信您需要在前端(终端用户计算机)上打印。

您可以使用IFRAME并将您的文本图像添加到其中。

在那之后,你可以打印IFRAME。

http://jsfiddle.net/8gcz0dw7/

--一个工作示例

代码语言:javascript
运行
复制
iframe=document.createElement('iframe')
document.body.appendChild(iframe)
var co=iframe.contentDocument.body;
$(co).append('your text<img src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7"/>')
iframe.focus()
iframe.contentWindow.print()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32624434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档