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

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

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

概述

随着互联网的发展,图片的分享和使用变得越来越频繁。然而,在很多情况下,我们可能会遇到带有水印的图片,这限制了图片的二次利用。为了解决这个问题,本文将介绍一个简单的网页应用,它能够帮助用户从文本中提取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编码图片在线提取与保存” 的相关文章

HTML网页代码预览器源码

🎉 简介:在这个数字化的时代,每个人都可能是下一个网页设计大师!但等等,你是不是还在为如何快速预览你的HTML代码而头疼?是不是还在为找不到一个简单、免费、离线的代码预览工具而烦恼?别担心,你的救星来了——“HTML网页代码预览器-离线版”!这不仅仅是一个工具,它是你创意实现的加速器,是你代码世界的...

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

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

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

盗号骗子网站的新伎俩!

【技术分析】QQ被盗滥发广告后的24小时0x01 > 背景2024年12月6日星期五早8:55分,我的QQ在毫无征兆的情况下自动向164位好友批量发送了携带二维码的垃圾图片。9:02经过微信好友提醒QQ异常后,立刻拨打了腾讯客服对QQ进行自助冻结处理。0x02 > QQ日常使用情况这个Q...

ffmpeg的常见命令合集

`ffmpeg` 是一个强大的多媒体处理工具,可以用来转换视频、音频文件的格式,提取音轨,裁剪和合并媒体文件等。下面是一些常用的 `ffmpeg` 命令示例:1. 视频格式转换将一个视频文件从一种格式转换为另一种格式,比如从 `.avi` 转换到 `.mp4`:bashffmpeg -i input...

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

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

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