Pillow/Tests/test_image_fromqimage.py
Eric L Frederich 86e775daa3 bug fix: Qt wants data aligned to 32 bits
Images in Qt show up incorrectly if each line is not aligned to 32 bits.

It is pretty common for an image's lines to be 32-bit alinged by chance.
Obviously any 32-bit image will not have any problem.
For the bug to manifest itself you'd need...
* a 1-bit image whose width is not a multiple of 32
* an 8-bit image who width is not a multiple of 4

Testing more images now and added a 7x13 png test image
2015-09-18 16:07:35 -04:00

45 lines
1.1 KiB
Python

from helper import unittest, PillowTestCase, hopper
from test_imageqt import PillowQtTestCase
from PIL import ImageQt, Image
class TestFromQImage(PillowQtTestCase, PillowTestCase):
files_to_test = [
hopper(),
Image.open('Tests/images/transparent.png'),
Image.open('Tests/images/7x13.png'),
]
def roundtrip(self, expected):
result = ImageQt.fromqimage(expected.toqimage())
# Qt saves all images as rgb
self.assert_image_equal(result, expected.convert('RGB'))
def test_sanity_1(self):
for im in self.files_to_test:
self.roundtrip(im.convert('1'))
def test_sanity_rgb(self):
for im in self.files_to_test:
self.roundtrip(im.convert('RGB'))
def test_sanity_rgba(self):
for im in self.files_to_test:
self.roundtrip(im.convert('RGBA'))
def test_sanity_l(self):
for im in self.files_to_test:
self.roundtrip(im.convert('L'))
def test_sanity_p(self):
for im in self.files_to_test:
self.roundtrip(im.convert('P'))
if __name__ == '__main__':
unittest.main()
# End of file