想截取浏览器上内容,并做成图片保存到本地。

可以使用html2canvas.js进行操作。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="~/Jquery/jquery-1.10.2.js"></script>
<script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.js"></script>
</head>
<body>
@*原始图片*@
<div class="my-div">
<img style="width: 400px; height: 300px" src="~/Img/longmao.jpg" />
</div>
<br />
<input type="button" onclick="set()" value="截图" /> @*截取后存放图片的位置*@
<img id="img" /> <script>
function set() {
//要转换为图片的dom对象
var element = document.querySelector('.my-div');
//要显示图片的img标签
var image = document.querySelector('#img');
//调用html2image方法
html2image(element, image); function html2image(element, image) {
html2canvas(element).then(function (canvas) {
var imageData = canvas.toDataURL(1);
//此时图片已经可以显示了
image.src = imageData;
});
}
}
</script>
</body>
</html>

把数据传入后台,将图片保存到本地。传输后台的数据是Base64的数据,需要转换

        public string Set(string imgdata)
{
try
{
var strbase64 = imgdata;
string dummyData = strbase64.Trim().Replace("data:image/png;base64,", "").Replace("%", "").Replace(",", "").Replace(" ", "+");
if (dummyData.Length % 4 > 0)
{
dummyData = dummyData.PadRight(dummyData.Length + 4 - dummyData.Length % 4, '=');
}
byte[] arr = Convert.FromBase64String(dummyData); MemoryStream ms = new MemoryStream(arr);
Bitmap bmp = new Bitmap(ms);
var imagePath = AppDomain.CurrentDomain.BaseDirectory + "123.png";
bmp.Save(imagePath, System.Drawing.Imaging.ImageFormat.Png); ms.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex);
return TAjaxCallBack.ERROR;
}
}

最新文章

  1. 记录下最近项目中常用到的SQL语句
  2. 可在广域网部署运行的QQ高仿版 -- GG2014 完美版!新增支持:聊天记录、好友分组、托盘闪动消息提醒、登录状态、GIF动态表情
  3. 【BZOJ】2719 银河之星
  4. JAVA书写规范
  5. SQLServer如何处理数据集的维度变化
  6. job不自动运行解决方法
  7. hdu 3836 Equivalent Sets
  8. Ubuntu 16.04 - python3 安装mysql驱动
  9. I2C_周立功标准驱动程序_c代码
  10. arrayList LinkedList HashMap HashTable的区别
  11. 关于js的parseInt方式在不同浏览器下的表现
  12. 新的开始,hello world!
  13. 跟版网 > 织梦教程 > 织梦安装使用 > 织梦DedeCMS附件上传大
  14. HTML5 CSS3专题 纯CSS打造相册效果
  15. Python基础之面对对象进阶
  16. 机器视觉:MobileNet 和 ShuffleNet
  17. net core体系-web应用程序-4net core2.0大白话带你入门-7asp.net core日志组件(Logger和Nlog)
  18. Java中的内存泄露的几种可能
  19. 【Window 7】解决Win7远程桌面无法全屏的方法
  20. CSS3选择器01—CSS2.1部分选择器

热门文章

  1. 关于概率dp的HINT
  2. 您必须知道的 Git 分支开发规范
  3. 前端三剑客:html,css,JavaScript
  4. 编写高质量的Python代码系列(二)之函数
  5. TF Multi-GPU single input queue
  6. Open vSwitch系列之二 安装指定版本ovs
  7. [Android] Android Build 时报错: java.io.IOException: Could not parse XML from android/accounts/annotations.xml
  8. vue+element-ui实现显示隐藏密码
  9. 如何参与flink开源项目
  10. 循环队列和链式队列(C++实现)