html实现可以编辑可以下载的在线图片编辑器、查看器源码
时间: 2023-12-03 22:43:01 浏览: 66
以下是一个简单的 HTML 实现的在线图片编辑器和查看器的示例源码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Online Image Editor/Viewer</title>
<meta charset="UTF-8">
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/mobilenet"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/knn-classifier"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/body-pix"></script>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
#canvas {
border: 1px solid #ccc;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
margin: 20px auto;
display: block;
}
#controls {
margin: 20px auto;
display: block;
text-align: center;
}
button {
padding: 10px;
margin: 5px;
font-size: 16px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
}
button:hover {
background-color: #3e8e41;
}
</style>
</head>
<body>
<canvas id="canvas" width="400" height="400"></canvas>
<div id="controls">
<button id="btnLoadImage">Load Image</button>
<button id="btnSaveImage">Save Image</button>
<button id="btnClearImage">Clear Image</button>
</div>
<script>
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
let imageLoaded = false;
let image = new Image();
// Load image button click event
document.getElementById('btnLoadImage').addEventListener('click', function() {
const input = document.createElement('input');
input.type = 'file';
input.accept = 'image/*';
input.onchange = function() {
const file = input.files[0];
const reader = new FileReader();
reader.onload = function(e) {
image.onload = function() {
canvas.width = image.width;
canvas.height = image.height;
ctx.drawImage(image, 0, 0);
imageLoaded = true;
}
image.src = e.target.result;
}
reader.readAsDataURL(file);
};
input.click();
});
// Save image button click event
document.getElementById('btnSaveImage').addEventListener('click', function() {
if (!imageLoaded) {
alert('Please load an image first!');
return;
}
const link = document.createElement('a');
link.download = 'image.png';
link.href = canvas.toDataURL('image/png');
link.click();
});
// Clear image button click event
document.getElementById('btnClearImage').addEventListener('click', function() {
if (!imageLoaded) {
alert('Please load an image first!');
return;
}
ctx.clearRect(0, 0, canvas.width, canvas.height);
imageLoaded = false;
});
</script>
</body>
</html>
```
这个示例代码包括了三个按钮:Load Image(加载图片)、Save Image(保存图片)和 Clear Image(清除图片)。当您点击 Load Image 按钮时,它将打开一个文件选择器,并允许您选择一张图片。选择图片后,它将被加载到画布上,并且您可以使用 Save Image 按钮将其保存为 PNG 文件。如果您想要清除画布上的图片,可以点击 Clear Image 按钮。
请注意,这只是一个简单的示例代码,没有包括任何图片编辑器或查看器的高级功能。您可以根据自己的需求进行修改和扩展。
阅读全文