JavaScript - canvas - 将图片保存到本地

效果

在这里插入图片描述

示例

项目结构:

在这里插入图片描述

源码:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>将图片保存到本地</title></head><body><canvas id="canvas"></canvas><br /><input type="button" id="button-save-as" value="Save as..." /><script type="text/javascript">window.onload = function(event) {main();}function main() {const canvas = document.querySelector("#canvas");const canvasContext = canvas.getContext("2d");{// 先在 canvas 上面画一张图片const image = new Image();image.onload = (event) => {// console.log(event);canvas.width = image.width;canvas.height = image.height;canvasContext.drawImage(image, 0, 0);}image.src = "img/transformers.jpg";}{const buttonSaveAs = document.getElementById('button-save-as');buttonSaveAs.onclick = (event) => {canvas.toBlob(function (blob) {// https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blobconst objectURL = URL.createObjectURL(new Blob([ blob ], { type: "image/png" }));const anchor = document.createElement('a');anchor.href = objectURL;anchor.download = "Filename.png";anchor.click();URL.revokeObjectURL(objectURL);}, "image/png", 1);};}}</script></body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/115499.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【校招VIP】前端计算机网络之HTTP和HTTPS

考点介绍&#xff1a; 为了解决HTTP协议的缺陷&#xff0c;需要使用另一种协议&#xff1a;安全套接字层超文本传输协议HTTPS&#xff0c;为了数据传输的安全&#xff0c;HTTPS在HTTP的基础上加入了SSL/TLS协议&#xff0c;SSL/TLS依靠证书来验证服务器的身份&#xff0c;并为浏…

spring:实现初始化动态bean|获取对象型数组配置文件

0. 引言 近期因为要完成实现中间件的工具包组件&#xff0c;其中涉及要读取对象型的数组配置文件&#xff0c;并且还要将其加载为bean&#xff0c;因为使用了spring 4.3.25.RELEASE版本&#xff0c;很多springboot的相关特性无法支持&#xff0c;因此特此记录&#xff0c;以方…

ffmpeg抠图

1.不用png&#xff0c;用AVFrame 2.合流 3.图片抠图透明 (1.)mp4扣yuv图&#xff0c;(2)用1.把一张yuv标记为透明然后av_hwframe_transfer_data到GPU (3)用抠图算法函数对yuv进行处理 (4) qsv的h264_qsv只支持nv12和qsv&#xff0c;但qsv本身并不限制像素格式&#xff0c;比如在…

2023版 STM32实战3 按键外部中断(电路与代码都讲解)

常规电路(带上拉电阻) 阻值可选3.3/4.7/5.1/10 单位K 偷懒电路 利用GPIO内部的上拉模式 代码&#xff08;直接拷贝使用&#xff09; 这是一个外部中断控制变量a增加减少的demo 为了新手方便我直接都写在了main.c文件 #include "stm32f10x.h"u8 keyflag0; u8 a0…

鼠标拖拽拖动盒子时,与盒子内某些点击事件冲突问题解决

目录 问题解决思路解决代码&#xff08;标注【主要代码】的为重点&#xff09; 问题 拖动该悬浮球时&#xff0c;鼠标弹起可能会触发悬浮球内事件 解决思路 鼠标拖动盒子时&#xff0c;将 isMove 设为 true 意为正在拖动盒子&#xff0c;此时将 class"btns_move" 遮…

采用cv2和默认的人脸识别分类器实现人脸检测功能

人脸识别分类器 haarcascade_frontalface_default 提示&#xff1a;分类器文件地址在这里&#xff1a;https://github.com/opencv/opencv/blob/687fc11626901cff09d2b3b5f331fd59190ad4c7/data/haarcascades/haarcascade_frontalface_default.xml 文章目录 人脸识别分类器 haar…

终于把量化入门了,实盘权限已开,学习这件事也不难

多数人18岁就死了&#xff0c;但直到75岁才埋。 ——网易云热评《杀死那个石家庄人》 猫猫挺喜欢这句话的&#xff0c;为什么只活动75岁&#xff0c;于是我查了查现如今78.6岁&#xff0c;大差不差的。 那扣扣减减&#xff0c;人生短短57年&#xff0c;唯一十八岁那年&#xff…

C# 查找迷宫路径

1.导入图像&#xff0c;并且将图像转灰度 using var img new Image<Bgr, byte>(_path); using var grayImg img.Convert<Gray, byte>(); 2.自动二值化图像 using var inputGrayOut new Image<Gray, byte>(grayImg.Size); // 计算OTSU阈值 var threshol…

[正确重装docker] Win10 重装 Docker 提示 Exising installation is up to date 的正确姿势

Win10 重装 Docker 报错 Exising installation is up to date 的一种情况是原来的 docker 没有卸载干净&#xff0c;或者说&#xff0c;没有正确卸载。 巧了&#xff0c;我就是直接删除了&#xff0c;因为一些原因重装了好几次&#xff0c;血泪史留给各位嘲笑。 一条正确的卸…

怎么将几张图片做成pdf合在一起

怎么将几张图片做成pdf合在一起&#xff1f;在我们平时的工作中&#xff0c;图片和pdf都是非常重要的电脑文件&#xff0c;使用也非常频繁&#xff0c;图片能够更为直观的展示内容&#xff0c;而pdf则更加的正规&#xff0c;很多重要文件大多会做成pdf格式的。在职场人的日常工…

力扣刷题-数组-螺旋矩阵

模拟过程&#xff0c;但却十分考察对代码的掌控能力。 重点&#xff1a;循环不变量原则&#xff01; 第一条原则&#xff1a; 模拟顺时针画矩阵的过程&#xff1a; 填充上行从左到右填充右列从上到下填充下行从右到左填充左列从下到上 由外向内一圈一圈这么画下去。 第二条原…

如何在没有第三方.NET库源码的情况,调试第三库代码?

大家好&#xff0c;我是沙漠尽头的狼。 本方首发于Dotnet9&#xff0c;介绍使用dnSpy调试第三方.NET库源码&#xff0c;行文目录&#xff1a; 安装dnSpy编写示例程序调试示例程序调试.NET库原生方法总结 1. 安装dnSpy dnSpy是一款功能强大的.NET程序反编译工具&#xff0c;…