自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 关于在Tkinter + Pillow图片叠加中出现的问题

这里我其实已经选择了图片,但是发现是ValueError,我尝试断点检测但是也无动于衷,因为设置变量检测的时候发现变量并没有错误,经过了解,最后发现问题处在Image.alpha_composite()上,在使用这个函数的时候我们需要特别注意需要转成’RGBA’模式,如果不转模式会报错,所以改动后的代码是。这段时间我一直在尝试对多图层图片进行一个叠加的操作,想用tkinter实现出来,先看错误。当然啦,我这里没有说存储,如果还需要存储的话,就还需要转回'RGB'格式。下面是还有一个人物的,只不过被覆盖了。

2024-01-30 00:54:03 730 1

原创 Tkinter + removebg实现Ai抠图

"removebg" 是一个在线服务,它允许用户自动去除图片的背景。用户只需上传图片,系统会通过算法自动识别并去除背景,生成透明背景(PNG格式)或者用户指定的新背景图片。这个服务对于设计师、插图师和营销人员来说非常有用,因为它可以快速、方便地处理图片,而不需要手动使用图像编辑工具。------出自文心一言。按钮Remove Background。

2024-01-24 01:09:42 830

原创 对比removebg和pil库抠图功能

今天相对图片进行一个简单的抠图功能,我查阅了相关功能介绍,对pil库中的方法实际就是分解三原色,对B和R进行对比细分,完成一个对照进行抠图的实现,当然在过程中需要加入透明模板进行叠加,抠图的实际不走就是细分后进行图层叠加,达到一个“抠图的效果”而removebg是通过获取API进行AI抠图,代码简单,因为着属于企业功能,所以没有过多的阐述,两者对比下来肯定是removebg更加方便易用!

2024-01-23 23:47:53 399 1

原创 PIL库ImageEnhance图片亮度调节

函数中首先先对深浅值进行一个接收保存,因为亮度调整是毕竟细小的调节,所以我们将接收到的值定义为float类型(在这里进行一个说明正常亮度默认为1,往上为调亮,向下为调暗)首先定义一个Label4,并设置好位置,对输入框进行一个标签绑定,同锐化方式一致。直接对BrightnessImage.py进行一个说明。

2024-01-22 00:41:26 988

原创 Tkinter + PIL --- ImageEnhance锐化处理

首先我们需要导入PIL库中Image, ImageEnhance, ImageTk,它们分别是什么功能我就不过多阐述了,有需要的可以查看之前的文档。定义一个标签,用于对锐化倍率的输入,同时需要让我Tk的对象为Root.root。(锐化后 x4 倍)效果是不是很明显呢!

2024-01-21 02:26:19 708

原创 Tkinter实现图片裁剪及注意点

我在写好输入框时,下意识将label的值写成了 Label(Root.root) 导致打开图片后没有任何反应,其实图片已经裁剪了,但是如果用Label(Root.root)就是新创建一个图片标签进行显示,这并不和我的预期合理,我们包使得图片显示的标签与打开图片的标签一致,这样在每次操作图片时候标签更新及时,也就防止了多值一体!

2024-01-20 12:51:14 603

原创 多文件对Tkinter影响及其操作

这里要注意的点就是我们在分开写的时候,需要注意对每次操作的图片进行转换并使得能用tkinter格式进行显示,因为所有的操作都是从打开图片开始的,所以label属性要绑定OpenImage.py中的静态变量,但是这样会照成的问题就是全局非全局,局部非局部,后续需要更加细微去更改。

2024-01-18 01:06:41 728 1

原创 使用tkinter对图片进行简单的旋转

今天使用Tkinter对图片进行简单的旋转操作,其实旋转也就是需要每次进行一次转换然后对图片数据进行保存再更新进行显示。所以函数设计就是带参函数,我对图片基本设置成四种旋转方式:90,180,270,360。

2024-01-17 02:00:29 558

原创 PIL库+Tkinter按钮图片操作

如上是我对图片先浏览后然后进行缩放的操作,这仅是简单对图片进行缩放,并没有更好的进行判断,比如如果图片大小超过框最大等限制,如果需要可以通过try进行基本的判定,当然图片也可以显示出来,不过会出现仅显示图片一角的可能!

2024-01-15 16:44:17 449

原创 Tkinter + PIL库打开图片成功

在对图片信息进行部署的时候,没有添加标签对图片的显示问题进行展示。

2024-01-13 13:56:04 850 1

原创 Tkinter + Pillow库打开指定图片未能正常显示

今天在使用Tkinter 和 PIL库打开图片时,发现未能正常打开图片,代码未出现逻辑错误,不知道哪儿出现了问题。按钮都能正常打开,但是内容却无法正常识别,不知道哪儿出了问题~有解答一下的吗?

2024-01-13 01:58:52 547 1

原创 flask项目简单补充

整体做出来,发现其实有很多重复的代码,所以接下来准备利用好jinja2模板的优点,对整体做一个规划,会基于父模板设计子模板,这样就会使代码面干净整洁!

2024-01-05 11:40:36 486 1

原创 flask问题发布页面相关注意事项和总结

这里有两个外键,分别是问题id和作者id,在发布问题时需要在指定的位置显示出相关的id,就是在问题页面有显示,而其中还有关系需要有发布者的相关内容,也就是对于一个问题而言要有发布者和回答者,这两者就在数据库设计时进行添加;最后效果就是这样了:(这里是已经登录的时候,看我的session中是有登录存储的)首先因为是问答页面,我们就需要有一个表去存储页面问题内容。

2023-12-30 23:29:35 966 1

原创 关于我flask项目出现object has no attribute ‘_sa_instance_state‘问题

在我对question进行添加定义的时候,将方法使用成了QusetionForm,而且在当前文件中没有导入Models的QuestionModel,当时写快了,更着它的自动提示就写了,以至于让错误一直出现。今天在写问答页面的时候出现了新的错误,我在网上查了许多方法说明是没有定义,有些说是类型错误,大部分查阅到的问题是指SQLAlchemy中的错误。总结一下,在写代码的过程中还是要时刻注意逻辑,不要过于依赖提示,以至于在写好之后不容易发现曾经可能写错的内容!经过断点测试,终于在一个很小的地方发现了问题!

2023-12-29 19:40:01 646 1

原创 flask中钩子函数

我在app.py中写了两个钩子函数,在我登录状态下,通过全局变量 'g' 获取我在session中的用户名,这样如果我需要去渲染各个页面的用户名时,就可以直接调用,同时这里进行一个简单的处理,如果是没有登录成功的状态下,我将其值赋值为 None ,这样可以预防错误。理论上我直接执行蓝图中写好的方法,但是举个例子,如果我们需要在登录成功状态后发表内容或者显示个人用户名信息,从方法上看就需要重复渲染,这样不仅添加了更多不良代码,对于后期的维护和修改更是需要巨大的人力和时间,所以钩子函数就是解决这里过程。

2023-12-28 13:39:26 470 1

原创 flask表单后端增删查改方法记录总结(简单)

RegistrationForm, LoginForm, UpdateForm, DeleteForm(这些是我自己在form中创建的类,其实可以不用那么麻烦,因为存在重复的内容,存在“尸体”代码)还导入了该方法对密码进行加密 ------ 以下是该author.py导入的库。至此,一个简单的由前端向后端的form表单增删查改(基础)方式已经完成。

2023-12-25 14:24:30 354

原创 flask表单修改步骤重现--学习中

今天在表单传递对数据修改上出现了问题,因为是用的SQLAlchemy的库函数,对于纯后端的修改是相对较容易的举个例子。从逻辑上分析,我第一步需要对用户信息进行匹配这里我自己定义的类是UpdateForm()因为我的数据库中没有 cheng1 用户,在输入后后端出现相应。但是要从表单接受数据的话就需要用到form相关知识点。这行代码其实就是运用了其修改的方法。如果存在就可以做出相应的反响。这里看到已经修改完成了!

2023-12-25 02:46:18 574

原创 flask后端注册和登录密码设计注意点--(学习中~)

另外还要注意的点,在config的配置中,需要加上SECRET_KET = 'xxxxx' (xxxxx的内容由各位自行定义,通常20个字符左右就可以了,当然越长加密效果越高,但相应的,解析就会慢上一节)另外有些小伙伴可能会出现错误,因为在进行加密的过程中,字符长度会很长,也就是在存储数据库中的时候会报错,这个时候其实可以直接对数据库表设计,将字符长度设置长一点就可以了。在之前我对password设置的是db.String(100),在我写注册的后端的方法的时候。

2023-12-23 16:59:25 486

原创 关于在flask使用migrate的时候出现的问题

今天对数据库进行了改动,尝试用migrate的方式去重新映射数据库表,但是我在之前把版本删除了,然后在终端执行的时候就报错了,发现没能找到该版本号,疑惑我之前不是删除了这些版本号吗,然后去看他的内容,发现是从数据库的表进行版本匹配的,所以我直接把数据库中的版本号删除了,之后按照三部曲flask db init;flask db upgrade似乎成功了。我自己觉得是有些问题的,按道理来说应该给我创建该版本的版本号,但是却没有,有没有大佬解答一下下?

2023-12-22 18:59:48 361

原创 关于flask我出现的问题

在flask中用migrate的方法设置的话写电话会出现长度过大,也就是对于数据库中int类型长度过长,也就会报错,报错大概就是会有很大一长串会说你的Insert Into错误,一定要确保类型正常和字符长度正常!还有就是,一定一定要注意设计的类型,我就是在对电话设置StringField的过程中设置成了db.Integer,后来去数据库改成varchar并且在代码改成如下得到成功传递数据。不然在后端接受的过程中是通过前端<input>标签下name属性来匹配的。

2023-12-22 02:54:29 455

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除