如何使 Tkinter 支持 PNG 透明度?

2024-02-18

我在 Tkinter 中放入了部分透明的 PNG 图像,我得到的就是这个

如何让右边的黑三角变清晰? (就像应该的那样)

顺便说一句,这是 Windows 7 上的 python 2.6。


这是一个示例(PNG 文件 example.png 在不同的地方有很多透明度):

from Tkinter import Tk, Frame, Canvas
import ImageTk

t = Tk()
t.title("Transparency")

frame = Frame(t)
frame.pack()

canvas = Canvas(frame, bg="black", width=500, height=500)
canvas.pack()

photoimage = ImageTk.PhotoImage(file="example.png")
canvas.create_image(150, 150, image=photoimage)

t.mainloop()

您需要确保图像已存储为“RGBA”,即带有 Alpha 通道的 RGB。您可以使用您选择的图形程序或使用 PIL(Python 图像库 http://www.pythonware.com/products/pil/):

import Image
im = Image.open("button.png")
print im.mode

这应该打印“RGBA”。如果没有,您必须确保 Alpha 通道与图像一起保存。您必须查阅图形程序手册以了解如何执行此操作。

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

如何使 Tkinter 支持 PNG 透明度? 的相关文章

随机推荐

  • 如何在命令行中调用内置产品打包实用程序

    当您在构建设置 Xcode 4 2 1 中指定权利和代码签名身份时 从 Xcode 构建时您将获得以下输出 ProcessProductPackaging myAppName entitlements path to myAppName x
  • 什么是“部署 ID”和“部署唯一名称”

    我不明白 Azure 云服务的 部署 ID 和 部署唯一名称 是什么 Azure Powershell 工具似乎会自动生成它们 但它们的用途是什么 如何使用它们 当 部署槽 不够用时 在什么意义上部署名称是 唯一的 部署ID是 Window
  • 斯坦福核心 NLP 是否支持德语词形还原?

    我发现了与斯坦福核心 NLP 兼容的德语解析和后标记模型 但是我无法使德语词形还原工作正常进行 有办法这样做吗 抱歉 据我所知 Stanford CoreNLP 不存在德语词形还原的实现
  • PHP - 如何重命名对象属性?

    我想知道如何在 PHP 中重命名对象属性 例如
  • 使用 ESM 在浏览器中动态或静态导入 json

    我运行以下示例 而 JS 之上没有捆绑器 index js async gt const mod await import index json console log mod file index json Chrome 80 无法加载
  • Django:员工装饰者

    我正在尝试为 Django 编写一个 仅限员工 的装饰器 但我似乎无法让它工作 def staff only error Only staff may view this page def dec view func def view re
  • 两个复杂度 O((2n + 1)!) 和 O(n!) 相等吗?

    这可能是一个幼稚的问题 但我对 Big O 表示法和复杂性的概念很陌生 无法找到任何答案 我正在处理一个算法 2n 1 次检查条件 我可以说问题的复杂度是 O n 还是复杂度是 O 2n 1 Use 斯特林近似 http en wikipe
  • JAVA中存储二维数组的数据结构

    我正在寻找一种数据结构来存储二维整数数组 List 是正确的数据结构还是我应该使用另一种数据结构 有人可以给我一个关于如何创建这样的数据结构以及如何添加二维数组的简短示例吗 编辑 我想要一个数据结构 在其中存储 int 11 7 数组 例如
  • MySQL 中 BLOB 到长文本的转换

    我在 MySQL 中有一个数据类型为 BLOB 的列 我正在使用 Crystal Reports 来生成一些报告 我的问题是 BLOB 列如果包含图片以外的数据 将显示空白数据 我从数据库获取的数据只是文本 所以我想将 BLOB 列转换为其
  • 无法从设备存储中删除文件android

    我正在开发一个笔记应用程序 其中列表视图在将笔记存储在由我的实用程序类控制的内部存储中后显示笔记 我刚刚在上下文菜单中实现了删除选项 删除选项可以很好地删除每个选定的列表视图项目 但是 当我刷新列表活动或添加新注释时 已删除的注释不断重新出
  • 一旦我将项目添加到 XCode 4.0.2,它就会崩溃

    它给出了这个错误 ASSERTION FAILURE in SourceCache IDEXcode3ProjectSupport IDEXcode3ProjectSupport 269 Xcode3Sources XcodeIDE Fra
  • 如何使用 jszip 库压缩文件

    我正在开发一个使用 HTML5 和 jquery 的移动离线应用程序 我想使用 jszip 从本地存储备份文件 下面是我所做的代码片段 if localStorageKeys length gt 0 for var i 0 i lt loc
  • android:覆盖来电屏幕

    我想在来电屏幕上添加一些附加信息 为此 在我的应用程序中 我正在检查 PHONE STATE 并在 RINGING 上 我正在调用一项活动 在此活动中 我设置如下文本视图 它按预期工作 文本将添加到来电屏幕 问题是 如果我在我的应用程序中
  • 使用正则表达式和 re 获取括号之间的文本

    我有一个字符串数组 我想从中提取特定内容 link description button text 我想得到以下输出 link description button text 对于数组中的每个字符串 我执行以下操作 str re finda
  • Create-React-App:从 node_module 目录包含 CSS 的最佳方法是什么

    我正在尝试在我的 create react app 项目中包含一些 CSS CSS 来自第 3 方 NPM 包 因此位于 node modules 目录中 我试过 import node modules packagename css st
  • 尽管超时很长,PHP 仍丢失 mongoDB 游标

    我正在运行一个长 mongoDB 查询 如下所示 foreach xyz gt find gt timeout 24 60 60 1000 gt maxTimeMS 24 60 60 1000 as document 但是 尽管客户端和服务
  • 更改单选按钮旁边的文本字体?

    要更改我使用的 textView 的字体 TextView tv TextView findViewById R id textview Typeface font Typeface createFromAsset getAssets SF
  • #selector' 指的是未暴露给 Objective-C swift 3 的方法

    我正在使用 Xcode 8 和 swift 3 我在 let action 行上出现以下错误 selector 指的是不暴露给Objective C的方法有什么建议吗 override func tableView tableView UI
  • 传递结构体和结构体指针有什么区别,它们不都是指针吗?

    例如 var myStructRef Vertex var myStruct Vertex myStructRef Vertex 2 3 myStruct Vertex 2 3 fmt Println myStructRef fmt Pri
  • 如何使 Tkinter 支持 PNG 透明度?

    我在 Tkinter 中放入了部分透明的 PNG 图像 我得到的就是这个 如何让右边的黑三角变清晰 就像应该的那样 顺便说一句 这是 Windows 7 上的 python 2 6 这是一个示例 PNG 文件 example png 在不同