bpo-25451: Add transparency methods to tkinter.PhotoImage. (GH-10406)
This commit is contained in:
parent
f66e336f45
commit
50866e9ed3
|
@ -379,6 +379,11 @@ Added method :meth:`~tkinter.Canvas.moveto`
|
|||
in the :class:`tkinter.Canvas` class.
|
||||
(Contributed by Juliette Monsel in :issue:`23831`.)
|
||||
|
||||
The :class:`tkinter.PhotoImage` class now has
|
||||
:meth:`~tkinter.PhotoImage.transparency_get` and
|
||||
:meth:`~tkinter.PhotoImage.transparency_set` methods. (Contributed by
|
||||
Zackery Spytz in :issue:`25451`.)
|
||||
|
||||
time
|
||||
----
|
||||
|
||||
|
|
|
@ -4124,6 +4124,15 @@ class PhotoImage(Image):
|
|||
args = args + ('-from',) + tuple(from_coords)
|
||||
self.tk.call(args)
|
||||
|
||||
def transparency_get(self, x, y):
|
||||
"""Return True if the pixel at x,y is transparent."""
|
||||
return self.tk.getboolean(self.tk.call(
|
||||
self.name, 'transparency', 'get', x, y))
|
||||
|
||||
def transparency_set(self, x, y, boolean):
|
||||
"""Set the transparency of the pixel at x,y."""
|
||||
self.tk.call(self.name, 'transparency', 'set', x, y, boolean)
|
||||
|
||||
|
||||
class BitmapImage(Image):
|
||||
"""Widget which can display images in XBM format."""
|
||||
|
|
|
@ -320,6 +320,15 @@ class PhotoImageTest(AbstractTkTest, unittest.TestCase):
|
|||
self.assertEqual(image3.get(0, 0), image.get(4, 6))
|
||||
self.assertEqual(image3.get(1, 2), image.get(5, 8))
|
||||
|
||||
def test_transparency(self):
|
||||
image = self.create()
|
||||
self.assertEqual(image.transparency_get(0, 0), True)
|
||||
self.assertEqual(image.transparency_get(4, 6), False)
|
||||
image.transparency_set(4, 6, True)
|
||||
self.assertEqual(image.transparency_get(4, 6), True)
|
||||
image.transparency_set(4, 6, False)
|
||||
self.assertEqual(image.transparency_get(4, 6), False)
|
||||
|
||||
|
||||
tests_gui = (MiscTest, BitmapImageTest, PhotoImageTest,)
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Add transparency methods to :class:`tkinter.PhotoImage`. Patch by Zackery
|
||||
Spytz.
|
Loading…
Reference in New Issue