在python中创建具有一定宽度边框的图像

2023-12-22

我用过PIL

#back_color_width 

for x in range(w):
    for y in range(h):
        if x==0 or y==0 or x==w-1 or y==h-1 :
            pixels[x,y] = back_color

我需要向图像添加一个边框,其宽度在图像的所有 4 条边上


我建议使用 PIL 的内置expand()功能,它允许您向图像添加任何颜色和宽度的边框。

所以,从这个开始:

#!/usr/bin/env python3

from PIL import Image, ImageOps

# Open image
im = Image.open('start.png')

# Add border and save
bordered = ImageOps.expand(im, border=10, fill=(0,0,0))

bordered.save('result.png')

如果您想在顶部/底部从左到右使用不同大小的边框,请给出两个宽度:

bordered = ImageOps.expand(im, border=(10,50), fill=(0,0,0)) 

如果您希望所有边都有不同大小的边框,请指定 4 个宽度:

bordered = ImageOps.expand(im, border=(10,40,80,120), fill=(0,0,0))

Keywords:PIL、Pillow、ImageOps、Python、边框、边框、外边框、添加边框、展开、填充、范围、图像、图像处理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在python中创建具有一定宽度边框的图像 的相关文章

随机推荐

  • WPF Datagrid 中的 ItemTemplateSelector 与 AutoGenerateColumns

    在我们的数据网格中 我们使用ItemTemplateSelector根据绑定到特定单元格的数据在两个数据模板之间切换 由于列数取决于我们正在使用的当前数据集AutoGenerateColumns in our DataGrid 看来这个特殊
  • 有没有办法以编程方式将 iOS 设备的相机焦点设置为无限远?

    我正在创建一个应用程序 可以锁定相机焦点以进行视频录制 我想将焦点锁定到无限远 而无需用户手动调整焦点 这可能吗 谢谢 可悲的是没有 正如 Artem 所说 你可以将相机设置为焦点锁定模式 进入自动对焦模式 对焦 然后锁定 或连续自动对焦模
  • AndroidManifest.xml 使用 `android:name="io.flutter.app.FutterApplication"`

    升级到Flutter 2 10后 出现以下错误 Warning Your Flutter application is created using an older version of the Android embedding It i
  • Magento 愿望清单 - 删除项目

    我构建了一个自定义脚本 用于使用 AJAX 在愿望清单中添加和删除项目 添加产品不是问题 但我不知道如何删除项目 Magento 版本是1 5 1 0 脚本位于 scripts 看起来像这样 include once app Mage ph
  • 如何为 GAE 数据存储数据模型创建两个唯一的可查询字段?

    首先进行一些设置 上周 我在实现我构建的一种特定方法时遇到了麻烦 该方法允许我管理与一个 db Model 对象关联的两个唯一字段 由于这是不可能的 因此我创建了一个父实体类和一个子实体类 每个类都为 key name 分配了一个唯一值 你
  • Rails new 给出“在任何源中都找不到正确版本的 Railties (4.2.5.1)”错误

    我正在尝试将 Rails 5 0 0 rc1 与 Ruby 2 3 1 一起使用 但是 如果我尝试在 programming 目录中创建一个新项目 我会得到以下信息 Documents Programming rails new foo C
  • 未找到资源样式/LaunchTheme

    我刚刚将应用程序的图标更改为较新的图标 现在每当我尝试构建并运行该应用程序时 我都会收到以下错误 Project build app intermediates manifests full debug AndroidManifest xm
  • 将 GZIP:ed 文本存储在 mysql 中?

    对于较大的应用程序和数据库来说 在将文本数据插入数据库之前对其进行 GZIP 压缩是很常见的事情吗 我猜想在再次解压缩之前 对实际文本字段的任何全文搜索都将不起作用 我还没有看到太多这样的事情 因为它基本上可以防止人们对 MySQL 端的数
  • Redux、规范化实体和 lodash 合并

    我使用 Redux React 和 Lodash 以及相当标准的标准化实体存储 当我在 redux 减速器中合并新实体时 对所有现有实体的引用都会发生变化 尽管没有被修改 从而导致任何纯组件重新渲染 lodash 合并是否有一种替代方法 可
  • 铁轨变了?方法总是错误的

    我正在尝试检查我的模型中复选框值是否已更改 如果改变了我想要我的方法set ip setting跑进去before save but my x即使我更改值 变量也总是返回 false 为什么它总是返回错误 我不明白我做错了什么 before
  • C 和 C++ 中类型的互操作性

    一个非常简单的问题 是否有任何保证 Cint和 C 是一样的int 在同一系统上 不言而喻 这当然是一个纯粹的理论问题 C 和 C 标准使用相同的语言来定义基本类型 但是 Fortran 2003 明确指出 use ISO C BINDIN
  • 在 C 中将块指令作为宏的参数传递

    我不知道这是否可能 我想像参数一样在宏中传递指令块 我将向您展示一个示例 define ADD MACRO size BLOCK for int i 0 i
  • ASP NET MVC 3 - 如何首先使用两个表和 Database.Setinitializer 在代码中重置数据库?

    我的问题在于缺乏MVC经验 基本上 我在数据库中有两个表 人 提供 对于每个我都创建了一个模型 一个控制器和一个模型 因此结构如下所示 public class Offer public int OfferID get set public
  • 发送大尺寸图像、视频和音频时 XMPP 客户端断开连接

    我已经使用 robbiehanson xmpp 示例实现了 xmpp 我可以聊天 也可以发送图像 我发送的图像被转换为 nsdata 并进一步转换为 Base64String 然后发送字符串 self xmppStream sendElem
  • Google 日历 API 的换行符?

    我正在尝试从我的网络应用程序中插入 Google 日历中的事件描述 但无法获取 n 或 br 被解释为换行符 谷歌日历如何解释换行符 帮助将不胜感激 您使用特定的客户端库吗 如果使用该协议 只需在内容元素中添加换行符即可
  • Django 应用程序初始化代码(例如连接到信号)

    我需要一个地方来运行特定于应用程序的初始化代码 例如连接到信号 当我将代码放入 init py我最终得到了模型的循环导入 有没有办法在框架设置时和执行任何请求之前触发函数 我使用相当旧的 django 96 6 版本 但我也对当前版本的解决
  • CakePHP 保存外键问题

    我在将 用户 表的外键保存在另一个名为 基本 的表中时遇到问题 我试图向用户询问一系列问题 每个完成的系列问题和用户 ID 都应该保存到相应的表中 这是在模型中进行验证后保存我的数据的内容 验证成功 所有数据均已保存 但外键保存为 0 pu
  • 如何将Mandelbrot的每个像素计算划分到不同的节点上?

    我的问题是我应该使用什么数据结构将工作分配给每个线程并从中获取计算值 我首先想到的是用保存 x y 和 iterate value 的结构填充向量 0 向量 63999 对于800x800像素 将这些向量传递给每个节点 gt 然后将给定向量
  • 当元素数据更改时,jQuery data() 属性不会更新

    我想使用 jQuerydata api 用于检索元素的所有数据属性 但这个 api 的缓存性质确实很烦人 有时我需要更改 javascript 中元素的某些数据属性 但是data api 始终返回每个数据属性的初始值 所以我必须使用attr
  • 在python中创建具有一定宽度边框的图像

    我用过PIL back color width for x in range w for y in range h if x 0 or y 0 or x w 1 or y h 1 pixels x y back color 我需要向图像添加