%PDF- %PDF-
Direktori : /usr/share/doc/python3-reportlab/tests/ |
Current File : //usr/share/doc/python3-reportlab/tests/test_graphics_images.py |
#Copyright ReportLab Europe Ltd. 2000-2017 #see license.txt for license details """ Tests for RLG Image shapes. """ from reportlab.lib.testutils import setOutDir,makeSuiteForClasses, outputfile, printLocation setOutDir(__name__) import os import unittest from reportlab.graphics.shapes import Image, Drawing, Rect from reportlab.graphics import renderPDF from reportlab.lib.pagesizes import A4 from reportlab.lib.colors import toColor IMAGENAME = 'pythonpowered.gif' GSIMAGE = 'pythonpowered-gs.gif' GAIMAGE = 'gray-alpha.png' class ImageTestCase(unittest.TestCase): "Test RLG Image shape." @classmethod def setUpClass(cls): cls.IMAGES = [] @classmethod def tearDownClass(cls): if not cls.IMAGES: return d = Drawing(A4[0], A4[1]) for img in cls.IMAGES: d.add(img) outPath = outputfile("test_graphics_images.pdf") renderPDF.drawToFile(d, outPath) #, '') assert os.path.exists(outPath) try: import rlPyCairo except ImportError: rlPyCairo = None try: import _rl_renderPM except ImportError: _rl_renderPM = None from reportlab.rl_config import renderPMBackend if rlPyCairo: d.save(formats=['png', 'gif', 'ps','svg'],outDir=os.path.dirname(outPath), fnRoot='test_graphics_images', _renderPM_backend='rlPyCairo') if _rl_renderPM: d.save(formats=['png', 'gif'],outDir=os.path.dirname(outPath), fnRoot='test_graphics_images-libart', _renderPM_backend='_renderPM') def test0(self): "Test convert a bitmap file as Image shape into a tmp. PDF file." d = Drawing(110, 44) inPath = IMAGENAME img = Image(0, 0, 110, 44, inPath) d.add(img) self.IMAGES.append(img) def test1(self): "Test Image shape, adding it to a PDF page." inPath = IMAGENAME img = Image(0, 0, 110, 44, inPath) self.IMAGES.append(img) def test2(self): "Test scaled Image shape adding it to a PDF page." inPath = IMAGENAME img = Image(0, 0, 110, 44, inPath) d = Drawing(110, 44) d.add(img) d.translate(120, 0) d.scale(2, 2) self.IMAGES.append(d) def test3(self): "Test rotated Image shape adding it to a PDF page." inPath = IMAGENAME img = Image(0, 0, 110, 44, inPath) d = Drawing(110, 44) d.add(img) d.translate(420, 0) d.scale(2, 2) d.rotate(45) self.IMAGES.append(d) def test4(self): "Test convert a greyscale bitmap file as Image shape into a tmp. PDF file." d = Drawing(110, 44) img = Image(0, 0, 110, 44, GSIMAGE) d.add(img) d.translate(0,2*72) self.IMAGES.append(d) def test5(self): "Test convert a greyscale +alpha bitmap file as Image shape into a tmp. PDF file." d = Drawing(48, 48) img = Image(0, 0, 48, 48, GAIMAGE) d.add(img) d.translate(72,4*72) self.IMAGES.append(d) def test6(self): d = Drawing(200, 100) d.add(Rect(1,1,d.width-2,d.height-2,strokeWidth=2,strokeColor=toColor('red'),fillColor=toColor('lightblue')),name='bg0') def addImage(x,y,w,h): img = Image(x, y, w, h, IMAGENAME) d.add(Rect(img.x-1,img.y-1,img.width+2,img.height+2,strokeWidth=2,strokeColor=toColor('green'),fillColor=toColor('black')),name='bg1') d.add(img) addImage(40,60,55,22) addImage(10,10,110,44) d.translate(72,6*72) self.IMAGES.append(d) def makeSuite(): return makeSuiteForClasses(ImageTestCase) #noruntests if __name__ == "__main__": unittest.TextTestRunner().run(makeSuite()) printLocation()