Fixed issues with transparent images

This commit is contained in:
Manuel F Martinez 2015-08-22 12:43:09 -07:00
parent 95082067e4
commit 280000d6ed
2 changed files with 23 additions and 1 deletions

View File

@ -22,3 +22,16 @@ CHANGELOG
- Added charcode tables - Added charcode tables
- Fixed Horizontal Tab - Fixed Horizontal Tab
- Fixed code tabulators - Fixed code tabulators
* 2015-04-21 - Version 1.0.5
- Merge pull request #45 from Krispy2009/master
. Raising the right error when wrong charcode is used
. Sent by Krispy2009@gmail.com
* 2015-07-06 - Version 1.0.6
- Merge pull request #53 from ldos/master
. Extended params for serial printers
. Sent by cafeteria.ldosalzira@gmail.com
* 2015-08-22 - Version 1.0.6
- Issue #57: Fixed transparent images

View File

@ -107,7 +107,15 @@ class Escpos:
def image(self,path_img): def image(self,path_img):
""" Open image file """ """ Open image file """
im_open = Image.open(path_img) im_open = Image.open(path_img)
# Remove the alpha channel on transparent images
if im_open.mode == 'RGBA':
im_open.load()
im = Image.new("RGB", im_open.size, (255, 255, 255))
im.paste(im_open, mask=im_open.split()[3])
else:
im = im_open.convert("RGB") im = im_open.convert("RGB")
# Convert the RGB image in printable image # Convert the RGB image in printable image
self._convert_image(im) self._convert_image(im)
@ -119,6 +127,7 @@ class Escpos:
qr_code.make(fit=True) qr_code.make(fit=True)
qr_img = qr_code.make_image() qr_img = qr_code.make_image()
im = qr_img._img.convert("RGB") im = qr_img._img.convert("RGB")
# Convert the RGB image in printable image # Convert the RGB image in printable image
self._convert_image(im) self._convert_image(im)