任务 13、MidJourney种子激发极致创作,绘制震撼连贯画作
13.1 任务概述
通过本次实验任务,学员将深入了解Midjourney种子的概念和重要性,以及种子对生成图像的影响。他们将学会在Midjourney平台中设置种子值并调整其参数,以达到所需的效果。此外,任务还详细介绍了Midjourney V4.0版本中保持图像一致性的特性、参数和技巧,帮助学员在创作过程中实现稳定的结果。最后,任务引入了Midjourney V5.0版本,向学员展示了新功能和改进,以及如何运用迁移学习和图像建模等先进技术来提升生成图像的质量和稳定性。不论您的绘画经验水平如何,本任务都将为您提供实战知识和技能,帮助您理解种子的运用,应对版本变化,并以实际操作提升创作能力。
任务实战案例:
-
案例-01:可爱的穿着汉服的小白兔(Ai 绘画作品)
-
案例-02:海滩上的男孩和机器人(Ai 绘画作品)
-
案例-03:穿着汉服的小姐姐(Ai绘画作品)
| |
---|---|
黑头发汉服小姐姐 | 金黄头发汉服小姐姐 |
| |
旗袍黑色头发小姐姐 | 连衣裙黑头发小姐姐 |
13.2 任务目标
① 实战理解Midjourney种子的概念和重要性。
② 在实际操作中学会如何在MidJourney中使用种子值。
③ 通过实践掌握如何在MidJourney V4.0中保持图像的一致性。
④ 通过实际案例学习如何在MidJourney V5.0中保持图像的一致性。
13.3 任务步骤
step 01、什么是Midjourney种子?为会么它很重要?
很多使用Midjourney的初学者都希望他们的提示能够产生一致的结果。然而,Midjourney默认的随机性水平可能会导致生成的图像过于复杂,添加了过多的细节内容,这使得控制最终结果变得更加困难。
Midjourney中的种子(seed)就是用来试图解决这一问题的,目的是利用Midjourney如何轻松创建一致的AI图像。
如:假设您向 Midjourney 提供以下提示:
a cute girl --v 4
一个可爱的小女孩
出图:
| |
---|---|
第一组图像 | 第二组图像 |
结果是一张令人印象深刻的可爱的小女孩子的各种图像。
但是,如果您再次运行相同的提示,您会注意到生成的图像描绘了一只完全不同的画面和场景。
这种不一致可以归因于 Midjourney 在生成图像时使用的随机元素。
Midjourney 图像生成过程的核心是种子值。
-- Seed 值是一个数字,用于在过程中引入随机但一致的噪声元素。Midjourney 为每个生成过程选择一个随机种子值,该值定义了用于生成所需图像的噪声模式类型。
-
除了确保结果的随机性之外,种子值本身没有特别的意义。seed值大或小,实际数字并不意味着什么。将它们视为特定风格或主题结果的书签;我们使用数字是因为它们很方便而且数量很多。
-
seed是用于初始化图像的数字。如果您不指定seed,Midjourney 会为您随机生成一个。每个图像(以及每个 4 象限图像集)都有一个seed。
-
因此,如果您希望在多次迭代中保持一致性,那么指定种子值至关重要。
-
通过这样做,您可以利用 Midjourney 的全部潜力来制作看起来不错并且具有您想要的统一级别的项目。
注意:Midjourney 不会对相同的seed产生相同的结果,它只会产生相似的结果。如果您正在寻找一种方法来使用给定的提示和给定的seed生成完全相同的图像,
step 02、如何在MidJourney中使用种子值?
1)选择合适的种子值
首先,需要选择一个--seed值。种子值是 0 到 4,294,967,295 之间的整数。在此范围内选择一个数字作为种子值。
如果需要查找特定工作的种子编号或刚刚在 Midjourney Discord 中创建的图像,可以通过使用信封表情符号对工作做出反应来实现。
您选择的具体数字不会影响生成图像的质量,但可以确保在使用相同提示时输出的一致性。
示例:
提示词:
A cute little rabbit wearing traditional Chinese clothing, holding a flower, 4K resolution, intricate details, cinematic feel, realistic, detailed, Octane rendering, beautifully blurred background like an epic shot in a persistent film, captured on Kodak film, 8K. --v 4 --ar 10:16 --seed 12345
一只可爱的小兔子穿着汉服,拿着一朵花,4K,复杂的细节,Cinema,现实,细节,Octane 渲染,坚忍的电影 4k 史诗般的详细背景虚化,在柯达上拍摄的照片,8K。
注意:上述是直接用 seed参数指定了这个图片的seed值。这个值的大小和具体值没有任何意义,仅仅是做为图像的一个标志,如果不给出的话,系统会默认生成一个(可以通过发送信封表情查看)。
出图:
折分出第二张图片:
也可以通过信封
表情查看这张图的种子(seed)值。
Discord会给出如下弹窗提示:
点击,可以查看该图像的 seed 种子值:
点击上述的 Jump to message
跳转到原图。
2)将种子参数合并到你的提示中
选择种子值或通过信封获得值后,您需要将其包含在 Midjourney 提示中,这将为您提供一致的图像。
提示词:
A lovely little bunny wearing traditional Chinese clothing, holding a carrot, 4K resolution, intricate details, cinematic style, realistic, detailed, Octane rendering, persistent film-like epic background blur, captured on Kodak film, 8K. --seed 12345 --v 4 --ar 10:16
一只可爱的小兔子穿着汉服,拿着一根胡萝卜,4K,复杂的细节,Cinema,现实,细节,Octane 渲染,坚忍的电影 4k 史诗般的详细背景虚化,在柯达上拍摄的照片,8K。
出图:
拆分出第三张:
再生成一波:
提示词:
A cute little rabbit wearing traditional Chinese clothing, carrying a warm and cozy night light. --seed 12345 --v 4 --ar 10:16
一只可爱的小兔子穿着汉服,提着一盏温䁔的小夜灯.
出图:
拆分出第二张:
从上面的测试可以看出,几张图还是比较相似的,产生了一定的连贯性。
| | |
---|---|---|
第一次出图 | 第二次出图 | 第三次出图 |
注意:
种子值可以在各种 Midjourney 模型版本中产生不同的结果。使用模型版本 1、2、3、test 和 testp 时,相同的种子值将生成具有相似构图、颜色和细节的图像。
然而,当使用模型版本 4、5 和 niji 时,使用相同的种子值将生成几乎相同的图像。
step 03、如何在MidJourney V4.0 保持图像的一致性
1)实战MidJourney V4中的种子:修改纵横比
在这里,我们使用相同的提示和相同的seed,但纵横比不同。查看相应象限之间的相似之处:
1)横向纵横比
提示词:
light watercolor, girl and robot on beachwhite background,few details,dreamyStudio Ghibli --v 4 --seed 1001
轻柔水彩,海滩上的女孩和机器人,白色背景,细节简单,如梦幻般的感觉,吉卜力工作室.
出图:
使用相同的--seed出图,但更改纵横比(1:1 —> 3:2):
提示词:
light watercolor, girl and robot on beachwhite background,few details,dreamyStudio Ghibli --seed 1001 --v 4 --ar 3:2
出图:
可以关注上述两组图像之间对应象限图像之间的相似之处。
2)纵向纵横比
再次修改纵向纵横比。再次注意相应象限之间的相似之处:
提示词:
light watercolor, girl and robot on beachwhite background,few details,dreamyStudio Ghibli --seed 1001 --v 4 --ar 2:3
出图:
2)实战MidJourney V4中的种子:风格化命令
使用[stylize 命令。差异是存在的,但结合 --seed ,让它们的差异变得非常小。
提示词:
light watercolor, girl and robot on beach, white background, few details, dreamy Studio Ghibli --seed 1001 --v 4 --s 1000
出图:
3)实战MidJourney V4中的种子:修改提示
如果修改提示,会在生成中引入新变量。修改提示的幅度越大,引入的随机性就越大。让我们看看更小和更大提示修改的结果:
提示词:
light watercolor, girl and pink robot on beach, white background, few details, dreamy Studio Ghibli --seed 1001 --v 4
轻柔水彩,海滩上的女孩和粉色机器人,白色背景,细节简约,如梦般的感觉,吉卜力工作室。
出图:
4)实战MidJourney V4中的种子:交换主题
构图和颜色保持不变,对主题进行了更大的修改,但整体风格仍保持不变:
提示词:
light watercolor, boy and robot on beach, white background, few details, dreamy Studio Ghibli --seed 1001 --v 4
轻柔水彩,海滩上的男孩子和机器人,白色背景,细节简约,如梦般的感觉,吉卜力工作室。
出图:
提示词:
light watercolor, girl and gundam on beach, white background, few details, dreamy Studio Ghibli --seed 1001 --v 4
轻柔水彩,海滩上的女孩和高达机器人,白色背景,细节简约,如梦般的感觉,吉卜力工作室。
出图:
5)实战MidJourney V4中的种子:新环境
这绝对是一个更大的变化。上一代看起来与第一代截然不同:
提示词:
light watercolor, girl and robot on lake shore, white background, few details, dreamy Studio Ghibli --seed 1001 --v 4
轻盈的水彩画,女孩和机器人在湖岸边,白色背景,细节简洁,如梦幻般的感觉,吉卜力工作室。
出图:
提示词:
light watercolor, girl and robot on lunar surface, white background, few details, dreamy Studio Ghibli --seed 1001 --v 4
轻柔的水彩画,女孩和机器人在月球表面上,白色背景,细节简约,如梦般的感觉,吉卜力工作室。
出图:
6)实战MidJourney V4中的种子:改变艺术风格
这是一个更为剧烈的变化。尽管如此,加入seed参数,仍然可以看到保留了哪些元素:
提示词:
light watercolor, girl and robot on beach, white background, few details, dreamy by John Singer Sargent --seed 1001 --v 4
轻柔的水彩画,女孩和机器人在月球表面上,白色背景,细节简约,如梦般的感觉,约翰·辛格·萨金特的风格
出图:
7)实战MidJourney V4中的种子:改变媒介
另一个有趣的是比如我们喜欢水粉风格。可以看到它对 Midjourney 生成主题的方式也有影响:
提示词:
gouache, girl and robot on beach, white background, few details, dreamy Studio Ghibli --seed 1001 --v 4
水粉画,海滩上的女孩和机器人,白色背景,细节简约,如梦幻般的感觉,吉卜力工作室。
出图:
step 04、如何在MidJourney V5.0 中保持图像的一致性
1)V5中seed用法
我们在用 MidJourney 画图时,AI根据我们输入的关键词生成图片,每次生成的图片,可控性不高,我们想画一个人物,同样的提示词,每次生成的图片差异很大,人物的长相都不一样。如果我们想建立同一个人物角色,怎么做呢?
比如:同一个人物,换不同的衣服、发型、背景、颜色、表情等等。在MidJourney中实现这种需求可以有多种方法,在本次任务中我们将主要采用seed值来实现。
再次强调:
-
seed值是Midjourney生成图片的起始值,如果在提示词中不指定seed值,每个图片的起始值都是随机的,所以每次出图会产生随机的结果
-
我们可以为图片指定seed值,使用了相同seed值的图片,就会产生相似的结果
-
seed值只对V4、V5、Niji版本生效
但seed值在 Midjourney V4和V5版本中的使用时还略有不同,前面讲了V4中如何使用seed值,接下来介绍如何在V5中使用seed值来创建一致性的图片。
首先,纠正 V5 中使用 seed值的两种错误用法:
-
错误用法一:
使用U直接生成图片,然后希望通过对升级后的图片通过 Emoji Reactions(信封表情) 获取 seed值。
原因:MidJourney 在升级到 V5 版本后已不支持直接对 Upscale 后的图片进行 seed 值获取了
-
错误用法二:
直接基于生成的四张网格图(简称:四宫格图)通过 Emoji Reactions(信封表情) 获取 seed 值。
原因:MidJourney 在四宫格图片混合的风格信息较多,差异较大,直接使用四宫格的 seed值,大概率会出来一批仍然不符合要求的图片
正确用法:
用V对图像进行变体,获取生成变体四宫图的seed值,这个才是我们需要的。
2)黑头发汉服小姐姐
提示词:
A cute Chinese girl wearing Hanfu with big eyes and black hair --v 5.2 --ar 2:3
一个穿汉服的大眼睛黑色头发的可爱的中国小姐姐
出图:
假设接下来,我想针对第二张图生成系列的相似图的话,则应该选择第二张图来进行变体:
接下来,获取上述四宫格图的 seed :
点击弹窗:
复制下上述的 seed 值:1104398846
, 然后再点击 Jump to message
跳转到原图:
3)金黄色头发汉服小姐姐
再来生成一张金黄色头的女孩图像:
提示词:
先不用 seed 值做一个测试,后面进行对比
A cute Chinese girl wearing Hanfu with big eyes and Golden yellow hair --v 5.2 --ar 2:3
一个穿汉服的大眼睛金黄色头发的可爱的中国小姐姐
出图:
再来一张,使用 --seed 1104398846 出的图:
提示词:
A cute Chinese girl wearing Hanfu with big eyes and Golden yellow hair --seed 1104398846 --v 5.2 --ar 2:3
出图:
比较一下使用seed出图和没有使用的区别:
![]() | | |
---|---|---|
原图 | 没使用seed | 使用seed |
整体来说,差别不是很大,相对来说,seed要略相似一些!
4)黑头发旗袍小姐姐
再出一张,这次更改为穿旗袍的小姐姐:
提示词:
A cute Chinese girl wearing a cheongsam, with big eyes and black hair --seed 1104398846 --v 5.2 --ar 2:3
一个穿旗袍的大眼睛黑色头发的可爱的中国小姐姐
出图:
5)黑头发连衣裙小姐姐
再出一张,这次更改为连衣裙的小姐姐:
提示词:
A cute Chinese girl with a halter dress, big eyes, and black hair --seed 1104398846 --v 5.2 --ar 2:3
一个穿连衣裙的大眼睛黑色头发的可爱的中国小姐姐
出图:
最终系列作品比较:
| |
---|---|
黑头发汉服小姐姐 | 金黄头发汉服小姐姐 |
| |
旗袍黑色头发小姐姐 | 连衣裙黑头发小姐姐 |
相关文章:

任务 13、MidJourney种子激发极致创作,绘制震撼连贯画作
13.1 任务概述 通过本次实验任务,学员将深入了解Midjourney种子的概念和重要性,以及种子对生成图像的影响。他们将学会在Midjourney平台中设置种子值并调整其参数,以达到所需的效果。此外,任务还详细介绍了Midjourney V4.0版本中…...

IAR开发环境的安装、配置和新建STM32工程模板
IAR到环境配置到新建工程模板-以STM32为例 一、 简单介绍一下IAR软件1. IAR的安装(1) 下载IAR集成开发环境安装文件(2) 安装 2. 软件注册授权 二、IAR上手使用(基于STM32标准库新建工程)1、下载标准库文件2、在IAR新建工程&#x…...

FPGA优质开源项目 – PCIE通信
本文介绍一个FPGA开源项目:PCIE通信。该工程围绕Vivado软件中提供的PCIE通信IP核XDMA IP建立。Xilinx提供了XDMA的开源驱动程序,可在Windows系统或者Linux系统下使用,因此采用XDMA IP进行PCIE通信是比较简单直接的。 本文主要介绍一下XDMA I…...

NLP:长文本场景下段落分割(文本分割、Text segmentation)算法实践----一种结合自适应滑窗的文本分割序列模型
NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等 专栏详细介绍:NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型…...
商汤科技2021校招-开发大类B卷
笔试时间:2020.09.18,19:00——21:00 岗位:嵌入式软件工程师 题型:单选4道,不定项选择题2道,填空2道,编程2道。 1、单选 1、在一棵二叉树上第5层的结点数最多是:16 第1层1个 2^0 第2层2个 2^1 第3层4个 2^2 第n层 2^(n-1...

陪诊小程序开发|陪诊系统定制|数字化医疗改善就医条件
健康问题这几年成为人们关注的焦点之一,然而看病却是一个非常麻烦的过程,特别是对于那些身处陌生城市或者不熟悉就医流程的人来说。幸运的是现在有了陪诊小程序下,为您提供便捷的助医服务,使得就医过程得更加简单和轻松。 陪诊系统…...

stable diffusion(1): webui的本地部署(windows)
一、前言 是的,现在是202308月份了,网上已经有很多打包好的工具,或者直接进一个web就能用SD的功能,但是我们作为程序员,就应该去躺坑,这样做也是为了能够有更多自主操作的空间。 像其他AI一样,…...

(树) 剑指 Offer 36. 二叉搜索树与双向链表 ——【Leetcode每日一题】
❓ 剑指 Offer 36. 二叉搜索树与双向链表 难度:中等 输入一棵二叉搜索树,将该二叉搜索树转换成一个 排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为…...
TypeScript初学
文章转载:https://blog.csdn.net/weixin_46185369/article/details/121512287 写的很详细,适合初学者看看。 一、TypeScript是什么? 1.TypeScript简称:TS,是JavaScript的超集。简单来说就是:JS有的TS都有…...
C/C++预定义宏
MSVC文档: https://learn.microsoft.com/en-us/cpp/preprocessor/predefined-macros?viewmsvc-170 GCC文档: https://gcc.gnu.org/onlinedocs/gcc/Function-Names.html https://gcc.gnu.org/onlinedocs/cpp/Predefined-Macros.html 参考:…...
原型链污染挖掘(存储XSS)
服务XSS响应 将JSON content-type更改为HTML 在Express应用中使用 JSON内容类型响应 并反映一个JSON: app.use(bodyParser.json({type: application/json})); app.post(/, function(req, res){_.merge({}, req.body);res.send(req.body); }); 在这些情况下&…...

Chrome开发者工具介绍
Chrome开发者工具介绍 前言1 打开DevTools2 命令菜单3 Elements面板ConsoleJavaScript调试Network 前言 Chrome开发者工具是谷歌浏览器自带的一款开发者工具,它可以给开发者带来很大的便利。常用的开发者工具面板主要包含Elements面板、Console面板、Sources面板、…...

利用MMPose进行姿态估计(训练、测试全流程)
前言 MMPose是一款基于PyTorch的姿态分析开源工具箱,是OpenMMLab项目成员之一,主要特性: 支持多种人体姿态分析相关任务:2D多人姿态估计、2D手部姿态估计、动物关键点检测等等更高的精度和更快的速度:包括“自顶向下”…...
ROS2 编译含有自定义消息项目报错:msg/detail/header__struct.h: 没有那个文件或目录
项目场景: 当迁移ROS 1 项目到 ROS 2 时,有时候会遇到消息类型的变化和更新,消息类型可能需要进行一些调整以适应新的ROS 2要求。本文将介绍如何处理自定义消息中的Header字段,以确保项目能够顺利地适应ROS 2的消息类型定义。 问…...
线段树思想拆解(下篇)
线段树思想拆解(下篇) 上篇回顾 到这里我们已经处理好了初始化以及添加方法,接下来实现范围的 query 方法 public int query(int queryL, int queryR) {return query(queryL, queryR, 1, orgLength - 1, 1);}到此为止通过借助 sum 数组&…...

Containerd容器镜像管理
1. 轻量级容器管理工具 Containerd 2. Containerd的两种安装方式 3. Containerd容器镜像管理 4. Containerd数据持久化和网络管理 1、Containerd镜像管理 1.1 Containerd容器镜像管理命令 docker使用docker images命令管理镜像单机containerd使用ctr images命令管理镜像,con…...

Baumer工业相机堡盟工业相机如何通过BGAPI SDK获取相机当前数据吞吐量(C#)
Baumer工业相机堡盟工业相机如何通过BGAPISDK里函数来获取相机当前数据吞吐量(C#) Baumer工业相机Baumer工业相机的数据吞吐量的技术背景CameraExplorer如何查看相机吞吐量信息在BGAPI SDK里通过函数获取相机接口吞吐量 Baumer工业相机通过BGAPI SDK获取…...
Ubuntu服务器版配置wifi
最近把曾经不用的上网本安装了一个Ubuntu-Server版,当成服务器来用,因为家庭网络布线问题,只好用自带的WIFI来连接网络,Server版也没有什么图形化的管理工具,之后手动编辑配置文件了。 Server下面配置起来还是很方便的…...
Windows 主机的VMware 虚拟机访问 wsl-ubuntu 的 API 服务
Windows 主机的VMware 虚拟机访问 wsl-ubuntu 的 API 服务 0. 背景1. 设置2. 删除 0. 背景 需要从Windows 主机的VMware 虚拟机访问 wsl-ubuntu 的 API 服务。 1. 设置 Windows 主机的IP:192.168.31.20 wsl-ubuntu Ubuntu-22.04 的IP:172.29.211.52 &…...

【Spring】(一)Spring设计核心思想
文章目录 一、初识 Spring1.1 什么是 Spring1.2 什么是 容器1.3 什么是 IoC 二、对 IoC 的深入理解2.1 传统程序开发方式存在的问题2.2 控制反转式程序的开发2.3 对比总结 三、对 Spring IoC 的理解四、DI 的概念4.1 什么是 DI4.2 DI 与 IoC的关系 一、初识 Spring 1.1 什么是…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...