当前位置:首页 > HTML代码分享 > 正文内容

base64编码图片在线提取与保存

王铁锹9个月前 (12-14)HTML代码分享721

概述

随着互联网的发展,图片的分享和使用变得越来越频繁。然而,在很多情况下,我们可能会遇到带有水印的图片,这限制了图片的二次利用。为了解决这个问题,本文将介绍一个简单的网页应用,它能够帮助用户从文本中提取Base64编码的图片,并提供下载功能,从而实现无水印图片的保存。

网页结构

该网页应用的基础HTML5文档类型声明为<!DOCTYPE html>,确保页面在所有现代浏览器中以标准模式渲染。整个页面的默认语言设置为中国大陆简体中文(lang="zh-CN"),以便更好地支持中文用户。

头部信息

  • 字符集:通过<meta charset="UTF-8">定义了页面使用的字符编码为UTF-8,保证页面能正确显示各种语言的字符。

  • 标题<title>标签内设置了页面标题为“图片提取与保存”,这个标题会显示在浏览器的标签页上。

样式设计

为了提升用户体验,页面采用了简洁美观的CSS样式:

  • 全局样式:设置了页面字体、背景颜色、边距和内边距,使得页面看起来更加整洁。

  • 容器.container类用于创建一个居中的内容区域,有白色背景、圆角和阴影效果,给用户带来视觉上的舒适感。

  • 输入框#inputBox是一个多行文本输入框,用户可以在此粘贴包含Base64编码的图片数据。

  • 按钮:提供了两个按钮——“提取”和“保存图片”。点击“提取”按钮后,页面会尝试解析用户粘贴的文本并显示预览图片;点击“保存图片”按钮,则可以将预览的图片下载到本地。

  • 预览图片#previewImage用于展示从文本中提取出来的图片,同时设置了最大宽度以确保图片不会过大影响页面布局。

功能实现

该网页应用的核心功能是通过JavaScript来实现的:

  • 提取图片extractImage()函数首先获取用户在textarea中输入的内容,然后使用正则表达式匹配出符合Base64编码格式的字符串。如果找到了匹配项,就将其作为图片源设置给<img>元素;如果没有找到或格式不正确,则会弹出警告提示。

  • 保存图片saveImage()函数检查是否已有图片被加载到<img>元素中。如果有,它会创建一个临时的<a>元素,将图片的src属性值设置为链接地址,并添加download属性指定下载文件名。之后模拟点击这个链接触发下载操作,最后移除这个临时元素。

使用方法

  1. 用户打开网页后,可以在提供的文本框中粘贴包含Base64编码的图片数据。

  2. 点击“提取”按钮,系统会自动分析输入内容并尝试加载图片进行预览。

  3. 如果图片成功加载,用户可以点击“保存图片”按钮将图片下载到本地,且下载的图片不含任何水印。


代码如下

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>图片提取与保存</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f9;
            margin: 0;
            padding: 20px;
        }
        h1 {
            text-align: center;
            color: #333;
        }
        .container {
            max-width: 800px;
            margin: 0 auto;
            background-color: #fff;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }
        #inputBox {
            width: 100%;
            height: 150px;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 4px;
            resize: vertical;
        }
        .button-container {
            display: flex;
            justify-content: space-between;
            margin-top: 10px;
        }
        button {
            padding: 10px 20px;
            background-color: #007bff;
            color: #fff;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }
        button:hover {
            background-color: #0056b3;
        }
        #previewImage {
            max-width: 300px; /* 调整预览图片的最大宽度 */
            margin-top: 20px;
            border: 1px solid #ccc;
            border-radius: 4px;
        }
    </style>
</head>
<body>
    <div>
        <h1>无水印下载~</h1>
        <textarea id="inputBox" placeholder="粘贴图片数据"></textarea><br>
        <div>
            <button onclick="extractImage()">提取</button>
            <button onclick="saveImage()">保存图片</button>
        </div>
        <img id="previewImage" src="" alt="预览图片">
    </div>

    <script>
        function extractImage() {
            const input = document.getElementById('inputBox').value;
            const base64Data = input.match(/data:image\/[^;]+;base64,([^"]+)/);
            if (base64Data) {
                document.getElementById('previewImage').src = base64Data[0];
            } else {
                alert('无效的Base64编码');
            }
        }

        function saveImage() {
            const image = document.getElementById('previewImage');
            if (image.src) {
                const link = document.createElement('a');
                link.href = image.src;
                link.download = 'image.png';
                document.body.appendChild(link);
                link.click();
                document.body.removeChild(link);
            } else {
                alert('没有图片可供保存');
            }
        }
    </script>
</body>
</html>

效果图如下

代码效果图

扫描二维码推送至手机访问。

微信搜索关注王铁锹公众号或者搜索王秋风。

版权声明:本文由王铁锹个人发布,如需转载请注明出处。

本文链接:https://www.3ban.cn/?id=62

“base64编码图片在线提取与保存” 的相关文章

获取浏览器token密钥的一段简单书签代码

获取浏览器token密钥的一段简单书签代码

引言:这段JavaScript代码是一个书签脚本(Bookmarklet),它设计用于从浏览器的Cookie中提取名为`Admin-Token`的Token,并将其复制到用户的剪贴板。以下是对该功能的详细介绍:功能介绍名称: Admin-Token 抓取并复制书签脚本描述:此书签脚本允许用户快速获取...

简单的域名跳转重定向网页

域名隐形跳转代码简介此HTML代码实现了一种称为“隐形跳转”或“框架跳转”的功能,它通过使用`<frameset>`和`<frame>`标签将整个浏览器窗口的内容替换为另一个网站的内容同时保持浏览器地址栏中的原始URL不变。这种方式可以让用户在不知情的情况下浏览到目标网站的内...

接上篇:结婚礼金红白喜事记账系统源码分享~

接上篇:结婚礼金红白喜事记账系统源码分享~

接上篇:结婚礼金红白喜事记账系统源码分享~为了测试网页源码是否正常读取数据库,写了一个利用faker随机生成中文名字的代码第一步导入镜像源pip install faker -i https://mirrors.aliyun.com/pypi/simple/完...