python - 在 Python PIL 中覆盖图像上的边框
问题描述
我有一个画廊应用程序,用户上传照片,我的代码给它一个边框,在边框上写入一些照片属性并存储它。
image2 = Image.open('media/' + str(image.file))
width, height = image2.size;
image2 = ImageOps.expand(image2, border=(int(width/25),int(height/20),int(width/25),int(height/10)), fill='rgb(0,0,0)')
(请注意,这里我的底部边框比顶部长,因为我在底部边框上写属性。)现在我正在为上传的图像构建一个编辑功能,用户可以在其中更改上传图像的属性。但是已经写在边界上的属性必须被覆盖。
所以在这里,我的方法是在底部边框上放一个黑色补丁并重新编写新属性,而不更改顶部和侧边框,并且不更改纵横比。所有这些都必须使用 PIL 来完成。
问题是如何在底部边框上放置一个黑框?
我尝试了此处提到的 ImageOps.fit() https://pillow.readthedocs.io/en/3.3.x/reference/ImageOps.html#PIL.ImageOps.fit,但纵横比似乎不正确并且我想在黑色边框上覆盖一个黑框,而不是裁剪照片。
解决方案
推荐阅读
- primefaces - PrimeFaces 组织图划分问题
- elasticsearch - 在结果中具有相同属性的对象数组上的 Elasticsearch 聚合
- selenium - 无法使用 PCA 预测将文本设置为输入字段
- javascript - 使 D3 图表具有响应性
- linux - 同步并限制同时运行的shell脚本数量
- django - 如何将 TokenAuthentication 身份验证类添加到 Django FBV
- node.js - 如何在谷歌操作和对话流中保存状态
- spring - Spring Data MongoDB 注解说明
- html - 服务的目的是什么?
- sas - 将 first.variable 和 last.variables 与累加器变量一起使用