七夕福利来袭:多种表白代码/语录超级赠送,不信你没女朋友

news2024/9/28 11:13:54

前言

马上七夕了~又是牛郎织女相会的一天!

不管什么时候, 这都是一个特别的日子,

在这个充满幸福的日子里, 我要把最美好的祝福,

送给心里有我的每一个人;

祝愿大家:

一生平安,身体健康,

生活幸福,家庭美满!

不知不觉又是有多少人步入婚姻的殿堂,又有谁单身至今,不管如何,

今天在这里希望不想单身的人们找到属于自己的幸福~相爱得人和和美美相伴一生

那么接下来就让我们来看看怎么代码表白吧~

“无套路表白” 💌

如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码

效果展示

设置了只能选A选项,点不了B选项,哈哈哈哈(当然点击上面的叉叉还是会关掉)

代码展示

import pygame
import random
import sys

# 根据背景图大小,设置游戏屏幕大小
WIDTH, HEIGHT = 1024, 576
# 不全屏
screen = pygame.display.set_mode((WIDTH, HEIGHT), 0, 32)
# 全屏
# screen = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN, 32)
pygame.display.set_caption('小姐姐,你的快递到了。')


# 添加文本信息
def title(text, screen, scale, color=(0, 0, 0)):
    font = pygame.font.SysFont('SimHei', 27)
    textRender = font.render(text, True, color)
    # 初始化文本的坐标
    screen.blit(textRender, (WIDTH / scale[0], HEIGHT / scale[1]))


# 按钮
def button(text, x, y, w, h, color, screen):
        pygame.draw.rect(screen, color, (x, y, w, h))
        font = pygame.font.SysFont('SimHei', 20)
        textRender = font.render(text, True, (255, 255, 255))
        textRect = textRender.get_rect()
        textRect.center = ((x+w/2), (y+h/2))
        screen.blit(textRender, textRect)


# 生成随机的位置坐标
def get_random_pos():
        x, y = random.randint(10, 600), random.randint(20, 500)
        return x, y


# 点击答应按钮后显示的页面
def show_like_interface(screen):
    screen.fill((255, 255, 255))
    background1 = pygame.image.load('2.png').convert()
    screen.blit(background1, (0, 0))
    pygame.display.update()
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()


def main():
    pygame.init()
    clock = pygame.time.Clock()
    # 添加背景音乐
    pygame.mixer.music.load('手写的从前-周杰伦.mp3')
    pygame.mixer.music.play(-1, 20)
    pygame.mixer.music.set_volume(0.5)
    # 设置不同意按钮属性
    unlike_pos_x = 130
    unlike_pos_y = 375
    unlike_pos_width = 450
    unlike_pos_height = 55
    unlike_color = (115, 76, 243)
    # 设置同意按钮属性
    like_pos_x = 130
    like_pos_y = 280
    like_pos_width = 450
    like_pos_height = 55
    like_color = (115, 76, 243)

    running = True
    while running:
        # 填充窗口
        screen.fill((255, 255, 255))
        # 添加背景图
        background = pygame.image.load('1.png').convert()
        screen.blit(background, (0, 0))

        # 获取鼠标坐标
        pos = pygame.mouse.get_pos()
        # 判断鼠标位置,不同意时,按钮不断变化
        if pos[0] < unlike_pos_x + unlike_pos_width + 5 and pos[0] > unlike_pos_x - 5 and pos[1] < unlike_pos_y + unlike_pos_height + 5 and pos[1] > unlike_pos_y - 5:
            while True:
                unlike_pos_x, unlike_pos_y = get_random_pos()
                if pos[0] < unlike_pos_x + unlike_pos_width + 5 and pos[0] > unlike_pos_x - 5 and pos[1] < unlike_pos_y + unlike_pos_height + 5 and pos[1] > unlike_pos_y - 5:
                    continue
                break

        # 设置标题及按钮文本信息
        title('1.如果有一天我向你表白,你会怎么样?', screen, scale=[8, 3])
        button('A.你小子终于开窍了,你敢表白我就敢答应!', like_pos_x, like_pos_y, like_pos_width, like_pos_height, like_color, screen)
        button('B.我拿你当闺蜜,你居然想睡我!果断拒绝!', unlike_pos_x, unlike_pos_y, unlike_pos_width, unlike_pos_height, unlike_color, screen)
        # 设置关闭选项属性
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
        # 当鼠标点击同意按钮后,跳转结束页面
        if pos[0] < like_pos_x + like_pos_width + 5 and pos[0] > like_pos_x - 5 and pos[1] < like_pos_y + like_pos_height + 5 and pos[1] > like_pos_y - 5:
            if event.type == pygame.MOUSEBUTTONDOWN:
                show_like_interface(screen)

        pygame.display.flip()
        pygame.display.update()
        clock.tick(60)


main()

所需素材

素材 左侧或最下方扫一下🐎领取哦~

无套路进阶版 💌

如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码

效果展示

这个就厉害了,在没有点击好呀之前你点击叉叉也是关不掉她的


代码展示

'''配置文件'''
import os


# 窗口大小(width, height)
SCREENSIZE = (500, 260)
# 定义一些颜色
RED = (255, 0, 0)
BLACK = (0, 0, 0)
AZURE = (240, 255, 255)
WHITE = (255, 255, 255)
MISTYROSE = (255, 228, 225)
PALETURQUOISE = (175, 238, 238)
PAPAYAWHIP = (255, 239, 213)
LIGHTGRAY = (211, 211, 211)
GAINSBORO = (230, 230, 230)
WHITESMOKE = (245, 245, 245)
DARKGRAY = (169, 169, 169)
BLUE = (0, 0, 255)
DEEPSKYBLUE = (0, 191, 255)
SKYBLUE = (135, 206, 235)
LIGHTSKYBLUE = (135, 206, 250)
# 背景音乐路径
BGM_PATH = os.path.join(os.getcwd(), 'resources/music/bgm.mp3')
# 字体路径
FONT_PATH = os.path.join(os.getcwd(), 'resources/font/STXINGKA.TTF')
# 背景图片路径
BG_IMAGE_PATH = os.path.join(os.getcwd(), 'resources/images/bg.png')
# ICON路径
ICON_IMAGE_PATH = os.path.join(os.getcwd(), 'resources/images/icon.png')
import sys
import cfg
import random
import pygame
from tkinter import Tk, messagebox


'''
Function:
	按钮类
Initial Args:
	--x, y: 按钮左上角坐标
	--width, height: 按钮宽高
	--text: 按钮显示的文字
	--fontpath: 字体路径
	--fontsize: 字体大小
	--fontcolor: 字体颜色
	--bgcolors: 按钮背景颜色
	--is_want_to_be_selected: 按钮是否想被玩家选中
	--screensize: 软件屏幕大小
'''
class Button(pygame.sprite.Sprite):
	def __init__(self, x, y, width, height, text, fontpath, fontsize, fontcolor, bgcolors, edgecolor, edgesize=1, is_want_to_be_selected=True, screensize=None, **kwargs):
		pygame.sprite.Sprite.__init__(self)
		self.rect = pygame.Rect(x, y, width, height)
		self.text = text
		self.font = pygame.font.Font(fontpath, fontsize)
		self.fontcolor = fontcolor
		self.bgcolors = bgcolors
		self.edgecolor = edgecolor
		self.edgesize = edgesize
		self.is_want_tobe_selected = is_want_to_be_selected
		self.screensize = screensize
	'''自动根据各种情况将按钮绑定到屏幕'''
	def draw(self, screen, mouse_pos):
		# 鼠标在按钮范围内
		if self.rect.collidepoint(mouse_pos):
			# --不想被选中
			if not self.is_want_tobe_selected:
				while self.rect.collidepoint(mouse_pos):
					self.rect.left, self.rect.top = random.randint(0, self.screensize[0]-self.rect.width), random.randint(0, self.screensize[1]-self.rect.height)
			pygame.draw.rect(screen, self.bgcolors[0], self.rect, 0)
			pygame.draw.rect(screen, self.edgecolor, self.rect, self.edgesize)
		# 鼠标不在按钮范围内
		else:
			pygame.draw.rect(screen, self.bgcolors[1], self.rect, 0)
			pygame.draw.rect(screen, self.edgecolor, self.rect, self.edgesize)
		text_render = self.font.render(self.text, True, self.fontcolor)
		fontsize = self.font.size(self.text)
		screen.blit(text_render, (self.rect.x+(self.rect.width-fontsize[0])/2, self.rect.y+(self.rect.height-fontsize[1])/2))


'''在指定位置显示文字'''
def showText(screen, text, position, fontpath, fontsize, fontcolor, is_bold=False):
	font = pygame.font.Font(fontpath, fontsize)
	font.set_bold(is_bold)
	text_render = font.render(text, True, fontcolor)
	screen.blit(text_render, position)


'''主函数'''
def main():
	# 初始化
	pygame.init()
	screen = pygame.display.set_mode(cfg.SCREENSIZE, 0, 32)
	pygame.display.set_icon(pygame.image.load(cfg.ICON_IMAGE_PATH))
	pygame.display.set_caption('来自一位喜欢你的小哥哥')
	# 背景音乐
	pygame.mixer.music.load(cfg.BGM_PATH)
	pygame.mixer.music.play(-1, 30.0)
	# biu爱心那个背景图片
	bg_image = pygame.image.load(cfg.BG_IMAGE_PATH)
	bg_image = pygame.transform.smoothscale(bg_image, (150, 150))
	# 实例化两个按钮
	button_yes = Button(x=20, y=cfg.SCREENSIZE[1]-70, width=120, height=35, 
						text='好呀', fontpath=cfg.FONT_PATH, fontsize=15, fontcolor=cfg.BLACK, edgecolor=cfg.SKYBLUE, 
						edgesize=2, bgcolors=[cfg.DARKGRAY, cfg.GAINSBORO], is_want_to_be_selected=True, screensize=cfg.SCREENSIZE)
	button_no = Button(x=cfg.SCREENSIZE[0]-140, y=cfg.SCREENSIZE[1]-70, width=120, height=35, 
					   text='算了吧', fontpath=cfg.FONT_PATH, fontsize=15, fontcolor=cfg.BLACK, edgecolor=cfg.DARKGRAY, 
					   edgesize=1, bgcolors=[cfg.DARKGRAY, cfg.GAINSBORO], is_want_to_be_selected=False, screensize=cfg.SCREENSIZE)
	# 是否点击了好呀按钮
	is_agree = False
	# 主循环
	clock = pygame.time.Clock()
	while True:
		# --背景图片
		screen.fill(cfg.WHITE)
		screen.blit(bg_image, (cfg.SCREENSIZE[0]-bg_image.get_height(), 0))
		# --鼠标事件捕获
		for event in pygame.event.get():
			if event.type == pygame.QUIT:
				# ----没有点击好呀按钮之前不许退出程序
				if is_agree:
					pygame.quit()
					sys.exit()
			elif event.type == pygame.MOUSEBUTTONDOWN and event.button:
				if button_yes.rect.collidepoint(pygame.mouse.get_pos()):
					button_yes.is_selected = True
					root = Tk()
					root.withdraw()
					messagebox.showinfo('', '❤❤❤么么哒❤❤❤')
					root.destroy()
					is_agree = True
		# --显示文字
		showText(screen=screen, text='小姐姐, 我观察你很久了', position=(40, 50), 
				 fontpath=cfg.FONT_PATH, fontsize=25, fontcolor=cfg.BLACK, is_bold=False)
		showText(screen=screen, text='做我女朋友好不好?', position=(40, 100), 
				 fontpath=cfg.FONT_PATH, fontsize=25, fontcolor=cfg.BLACK, is_bold=True)
		# --显示按钮
		button_yes.draw(screen, pygame.mouse.get_pos())
		button_no.draw(screen, pygame.mouse.get_pos())
		# --刷新
		pygame.display.update()
		clock.tick(60)


'''run'''
if __name__ == '__main__':
	main()

所需素材

图片

字体

音乐

素材 左侧或最下方扫一下🐎领取哦~

简陋版【击中心脏】💘

如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码

效果展示


虽然它简陋,但是你的心意啊,配上一个表情包,再加上一条动人的情话,那效果,也是拉满的呀~

每一个人的缘分不同,相爱的时间也会有长短,只有尽心尽力的去做,我能够做到的就是:我会让我的爱陪你慢慢的老去。

哈哈哈哈哈哈哈哈哈哈哈

源代码

import turtle as t


def init():
    t.speed(2)
    t.pensize(2)
    t.screensize(480, 360)
    t.color('red', 'red')


def draw_heart_right():
    t.up()
    t.goto(50, 50)
    t.pendown()
    t.right(45)
    t.goto(100, 0)
    t.seth(45)
    t.fd(120)
    t.circle(50, 225)


def draw_heart_left():
    t.up()
    t.goto(0, 0)
    t.down()
    t.seth(45)
    t.fd(120)
    t.circle(50, 225)
    t.seth(90)
    t.circle(50, 225)
    t.fd(120)


def draw_arrow():
    t.up()
    t.seth(0)
    # 羽毛
    t.goto(-210, 40)
    t.pendown()
    t.goto(-215, 44)
    t.goto(-190, 49)
    t.goto(-175, 46)
    t.up()

    t.goto(-210, 40)
    t.pendown()
    t.goto(-213, 34)
    t.goto(-185, 39)
    t.goto(-175, 46)
    t.up()

    # 箭杆
    t.pendown()
    t.goto(0, 80)
    t.penup()
    t.goto(160, 110)
    t.pendown()
    t.goto(320, 140)

    # 箭羽
    t.left(160)
    t.begin_fill()
    t.fd(10)
    t.left(120)
    t.fd(10)
    t.left(120)
    t.fd(10)
    t.end_fill()


if __name__ == '__main__':
    init()
    draw_heart_right()
    draw_heart_left()
    draw_arrow()
    t.hideturtle()
    t.done()

表白相册 💟

如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码

效果展示


这个是两层的,可以自动旋转,你们看一下图片效果就可以了哈,至于视频效果,我懒,哈哈哈哈,所以没弄,谅解一下哈~ 💕

所需程序


美(帅)的照片

首先我们得需要一组你女(男)朋友或者老婆(老公)得照片(女神得也行😋 当然不能是偷拍得哈,这句只争对单身,人家已经成了的不怕啊)

单身人士呢,我们就配上自己的帅照或者美照哈(但不能是自信爆棚哈)

对自己拍照技术没信心的可以找找自己的好基友(闺蜜)哈~ 把自己帅(美)的照片展现,成功率更高哦

素材/资料需要的可以点击文章末尾名片领取源码

然后拥有我的这个程序

表白语录

在最后,赠送大家一些表白语录吧~

单身表白语句

“我犹豫了好几天,最后决定扔个硬币,正面朝上就跟你表白。”“如果背面朝上呢?”“翻过来呗。”

你说如果下雪的时候我们在路上走,不是就一起到白头了吗?

猫咪在落叶里打了滚,晚霞铺满天空,风把思念吹向你,我所贪念的人间,不过是你而已!

话说搭讪也要讲究技术,要在正确的时间正确的地点找到正确的人搭讪,比如此刻我就在线!

我不是一个不善言谈的人,但是我会用我的实际行动让你感觉到,我是真的很爱你的,所以希望你给我一个照顾你一辈子的机会,然后一起慢慢变老,好吗?

我愿意一生守在你的身边,冬天做你的棉被,夏天做你的电风扇。

两个人相遇的机率只有两百万分之一,三生有幸,我遇见了你

浮世三千,吾爱有三,一为日,二为月,三为卿。日为朝,月为暮,卿为朝朝暮暮。

求婚语句

人生路途坎坷,我希望在这条砍坷的路上有你的陪伴,我希望能与你同行。

时间在指尖中流逝,万物在雨露下滋长,星辰在昼夜里交替,我们在理想上行走,快乐与困苦交织,新生伴随老死,让我们珍惜眼前,相拥到永远。

没有浪漫倾城的风花雪月,没有意乱情迷的海誓山盟,只有彼此相偎时的那种心跳!我爱你!嫁给我吧!做幸福的人!

许下我第一千零一个愿望,有一天你总会上我的当,到时我亲手为你煲汤,你穿上绝美的新装,做我幸福的新娘。

请您能给我一个荣幸,让我可以陪你度过一生!一年四季,四季如初。陪你走过鸟语花香的春天、度过火热的夏天、走过高爽的秋天、在寒冷的冬天相依偎。

婚姻是看得的见的,爱情是看不见的;问候是看的见的,关心是看不见的,可是我爱你,却是显而易见的。今天让我来求婚,未来你为我遮风挡雨。

尾语

成功没有快车道,幸福没有高速路。

所有的成功,都来自不倦地努力和奔跑,所有的幸福都来自平凡的奋斗和坚持

愿所有美好如期而至,以后的生活不将就,也不辜负。

——励志语录

本文章就写完啦~感兴趣的小伙伴可以复制代码去试试

你们的支持是我最大的动力!!感谢陪伴~

记得三连哦~ 💕 欢迎大家阅读往期的文章呀

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇👇

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

兼具传统和新锐基因的极氪,是怎么做用户运营的?|新能源车专题研究

主笔&#xff1a;浣芳黛 出品&#xff1a;增长黑盒研究组 近几个月来&#xff0c;新能源车势头强劲&#xff0c;众多车企纷纷传出连月增长和再创新高的捷报&#xff0c;在当下整体经济复苏缓慢的映衬下&#xff0c;显得格外耀眼。 于是&#xff0c;增长黑盒近期针对新能源车企展…

Ganache的安装与设置连接

文章目录 前言1. 安装Ganache2. 安装cpolar3. 创建公网地址4. 公网访问连接5. 固定公网地址 前言 Ganache 是DApp的测试网络&#xff0c;提供图形化界面&#xff0c;log日志等&#xff1b;智能合约部署时需要连接测试网络。 Ganache 是一个运行在本地测试的网络,通过结合cpol…

docker 06(docker compose)

一、服务编排 二、docker compose

【Mybatis源码分析】解析语句标签_Select|Update|Insert|Delete

解析语句标签 Select|Update|Insert|Delete 一、前言二、语句标签的源码分析三、sql 标签的解析四、总结 一、前言 在阐述解析语句标签之前&#xff0c;得先知道我们的语句标签内容最后被封装到Configuration哪&#xff1f;&#xff08;都应该知道 Mybatis 通过的是 XMLConfig…

骨传导耳机是如何让我们听到声音的?为什么要选择骨传导耳机?

骨传导耳机的工作原理就是通过人的颅骨、骨迷路、螺旋器、听觉中枢来传递声波&#xff0c;不需要接触到人的外耳道和内耳膜&#xff0c;省去了许多声波传递的步骤&#xff0c;相对于入耳式耳机会更加的保护耳朵。 说简单一点&#xff0c;平时我们自己挠头发或者通过上次碰撞牙…

交换机生成树STP

生成树协议&#xff08;spanning-tree-protocol,stp&#xff09;&#xff1a;在具有物理环路的交换机网络上生成没有回路的逻辑网络的方法&#xff0c;生成树协议使用生成树算法&#xff0c;在一个具有冗余路径的容错网络中计算出一个无环路的路径&#xff0c;使一部分端口处于…

Blazor Session设置

文章目录 前言SessionProtectedSessionStorage 类信息加密使用场景 代码部分Nuget扩展安装源码使用&#xff0c; 相关资料 前言 微软官方封装了一些浏览器的操作&#xff0c;其中就有Session的操作的封装 ProtectedSessionStorage 微软文档 因为我们知道&#xff0c;依赖注入…

每个.NET开发都应掌握的C#委托事件知识点

上篇文章讲述了C#接口的知识点&#xff0c;本文将介绍C#委托事件知识点。C#作为.NET开发的核心语言之一&#xff0c;提供了丰富的特性来支持面向对象编程和事件驱动的模型。其中&#xff0c;委托和事件是C#中不可或缺的关键概念&#xff0c;每个.NET开发者都应该深入理解它们的…

什么是原码、反码和补码

什么是原码、反码和补码 文章目录 什么是原码、反码和补码1、机器数2、原码3、反码4、补码5、总结 1、机器数 前言 一个数在计算机中的表示形式是二进制的话&#xff0c;这个数其实就叫机器数。 机器数通常是带有符号的&#xff08;指有正数和负数之分&#xff09;&#xff0c;…

【后端速成 Vue】第一个 Vue 程序

1、为什么要学习 Vue&#xff1f; 为什么使用 Vue? 回想之前&#xff0c;前后端交互的时候&#xff0c;前端收到后端响应的数据&#xff0c;接着将数据渲染到页面上&#xff0c;之前使用的是 JavaScript 或者 基于 JavaScript 的 Jquery&#xff0c;但是这两个用起来还是不太…

C++新经典08--范围for、new内存动态分配与nullptr

范围for语句 C语言部分学习过了for语句&#xff0c;在C11中for语句的能力被进一步扩展&#xff0c;引入了范围for语句&#xff0c;用于遍历一个序列。看看如下范例&#xff1a; int v[]{12,13,14,16,18};//数组ⅴ中每个元素依次放入x并打印x值。相当于把ⅴ的每个元素值复制到x…

第11步---MySQL的优化

第11步---MySQL的优化 1.概念 原先写功能。后来对平静进行优化 设计 查询语句 索引 存储 2.查看执行效率 -- 查看当前会话sql得执行类型得统计信息SHOW session STATUS like Com%上面展示得信息就是统计了当前会话得执行得操作得次数。 -- 查看全局得 SHOW GLOBAL STATU…

【C++入门到精通】C++入门 —— deque(STL)

阅读导航 前言一、deque简介1. 概念2. 特点 二、deque使用1. 基本操作&#xff08;增、删、查、改&#xff09;2. 底层结构 三、deque的缺陷四、 为什么选择deque作为stack和queue的底层默认容器总结温馨提示 前言 文章绑定了VS平台下std::deque的源码&#xff0c;大家可以下载…

SOLIDWORKS中一些不常用却很实用的功能介绍

1.过滤 FeatureManager 设计树 我们可以在FeatureManager 设计树过滤器中搜索特定的零件特征和装配体零部件。 2.添加文件夹和子文件夹 在零件或装配体文件中&#xff0c;您可添加文件夹到 FeatureManager 设计树内。 您可重新命名新的文件夹并将额外项目拖动到新的文件夹中。…

(一)Dubbo源码解析:增强SPI

〇、前言 在Dubbo的架构设计中&#xff0c;如何可以通过“类插拔”的方式&#xff0c;对其功能进行灵活的扩展或者削弱&#xff0c;那么&#xff0c;SPI起到了极其关键的作用。本篇文章作为分析Dubbo源码的第一篇文章&#xff0c;我们先暂时放下“服务注册发布流程”、“服务启…

Linux:shell脚本:基础使用(6)《正则表达式-awk工具》

简介 awk是行处理器: 相比较屏幕处理的优点&#xff0c;在处理庞大文件时不会出现内存溢出或是处理缓慢的问题&#xff0c;通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理&#xff0c;然后输出 1&#xff09;awk命令会逐行读取文件的内容进行处理 2&#xff09;a…

攻防世界-disabled_button

原题解题思路 看页面源码 把这个删了就行

ESP32-C3 手动启用 Secure Boot V2 与 Flash 加密流程

ESP-IDF 中 flash 加密可以在 bootloader 阶段自动启用&#xff0c;但是这需要设备自加密后重启一次&#xff0c;为了节省这次重启的步骤&#xff0c;你可以选择通过一些脚本工具在外部启用 flash 加密。 本篇文档用于介绍 ESP32-C3 手动启用 Secure Boot V2 与 Flash 加密的操…

矩阵乘法(C++ mpi 并行实现)

矩阵乘法有2种思路&#xff0c;我最先想到的是第一种思路&#xff0c;但是时间、空间复杂度都比较高。后面参考了一些资料&#xff0c;实现了第二种思路。 一、思路1&#xff1a;按行、列分块 矩阵乘法有一个很好的性质&#xff0c;就是结果矩阵的每个元素是不互相依赖的&…

如何批量加密PDF文件并设置不同密码 - 批量PDF加密工具使用教程

如果你正在寻找一种方法来批量加密和保护你的PDF文件&#xff0c;批量PDF加密工具是一个不错的选择。 它是一个体积小巧但功能强大的Windows工具软件&#xff0c;能够批量给多个PDF文件加密和限制&#xff0c;包括设置打印限制、禁止文字复制&#xff0c;并增加独立的打开密码。…