예제 #1
0
파일: pdfgen.py 프로젝트: sk1project/sk1-wx
	def draw_image(self, image, alpha_channel=None):
		if not image: return
		if self.colorspace == uc2const.COLOR_CMYK:
			image = self.cms.convert_image(image, uc2const.IMAGE_CMYK)
		elif self.colorspace == uc2const.COLOR_RGB:
			image = self.cms.convert_image(image, uc2const.IMAGE_RGB)
		elif self.colorspace == uc2const.COLOR_GRAY:
			image = self.cms.convert_image(image, uc2const.IMAGE_GRAY)
		img = ImageReader(image)
		img.getRGBData()
		if alpha_channel: img._dataA = ImageReader(alpha_channel)
		self.canvas.drawImage(img, 0, 0, mask='auto')
예제 #2
0
 def draw_image(self, image, alpha_channel=None):
     if not image: return
     if self.colorspace == uc2const.COLOR_CMYK:
         image = self.cms.convert_image(image, uc2const.IMAGE_CMYK)
     elif self.colorspace == uc2const.COLOR_RGB:
         image = self.cms.convert_image(image, uc2const.IMAGE_RGB)
     elif self.colorspace == uc2const.COLOR_GRAY:
         image = self.cms.convert_image(image, uc2const.IMAGE_GRAY)
     img = ImageReader(image)
     img.getRGBData()
     if alpha_channel: img._dataA = ImageReader(alpha_channel)
     self.canvas.drawImage(img, 0, 0, mask='auto')
예제 #3
0
def makeA85Image(filename, IMG=None):
    import zlib
    img = ImageReader(filename)
    if IMG is not None: IMG.append(img)

    imgwidth, imgheight = img.getSize()
    raw = img.getRGBData()

    code = []
    append = code.append
    # this describes what is in the image itself
    append('BI')
    append('/W %s /H %s /BPC 8 /CS /%s /F [/A85 /Fl]' %
           (imgwidth, imgheight, _mode2cs[img.mode]))
    append('ID')
    #use a flate filter and Ascii Base 85
    assert len(raw) == imgwidth * imgheight * _mode2bpp[
        img.mode], "Wrong amount of data for image"
    compressed = zlib.compress(raw)  #this bit is very fast...
    encoded = _AsciiBase85Encode(compressed)  #...sadly this may not be

    #append in blocks of 60 characters
    _chunker(encoded, code)

    append('EI')
    return code
예제 #4
0
def makeRawImage(filename, IMG=None, detectJpeg=False):
    import zlib
    img = ImageReader(filename)
    if IMG is not None:
        IMG.append(img)
        if detectJpeg and img.jpeg_fh():
            return None

    imgwidth, imgheight = img.getSize()
    raw = img.getRGBData()

    code = []
    append = code.append
    # this describes what is in the image itself
    append('BI')
    append('/W %s /H %s /BPC 8 /CS /%s /F [/Fl]' %
           (imgwidth, imgheight, _mode2cs[img.mode]))
    append('ID')
    #use a flate filter
    assert len(raw) == imgwidth * imgheight * _mode2bpp[
        img.mode], "Wrong amount of data for image"
    compressed = zlib.compress(raw)  #this bit is very fast...

    #append in blocks of 60 characters
    _chunker(compressed, code)

    append('EI')
    return code
def makeRawImage(filename,IMG=None,detectJpeg=False):
    import zlib
    img = ImageReader(filename)
    if IMG is not None:
        IMG.append(img)
        if detectJpeg and img.jpeg_fh():
            return None

    imgwidth, imgheight = img.getSize()
    raw = img.getRGBData()

    code = []
    append = code.append
    # this describes what is in the image itself
    append('BI')
    append('/W %s /H %s /BPC 8 /CS /%s /F [/Fl]' % (imgwidth, imgheight,_mode2cs[img.mode]))
    append('ID')
    #use a flate filter
    assert len(raw) == imgwidth * imgheight*_mode2bpp[img.mode], "Wrong amount of data for image"
    compressed = zlib.compress(raw)   #this bit is very fast...

    #append in blocks of 60 characters
    _chunker(compressed,code)

    append('EI')
    return code
예제 #6
0
 def test(self):
     from reportlab.lib.testutils import testsFolder
     from reportlab.lib.utils import rl_isfile
     imageFileName = os.path.join(testsFolder,'pythonpowered.gif')
     assert rl_isfile(imageFileName), "%s not found!" % imageFileName
     ir = ImageReader(imageFileName)
     assert ir.getSize() == (110,44)
     pixels = ir.getRGBData()
     assert md5(pixels).hexdigest() == '02e000bf3ffcefe9fc9660c95d7e27cf'
예제 #7
0
 def test(self):
     from reportlab.lib.testutils import testsFolder
     from reportlab.lib.utils import rl_isfile
     imageFileName = os.path.join(testsFolder, 'pythonpowered.gif')
     assert rl_isfile(imageFileName), "%s not found!" % imageFileName
     ir = ImageReader(imageFileName)
     assert ir.getSize() == (110, 44)
     pixels = ir.getRGBData()
     assert md5(pixels).hexdigest() == '02e000bf3ffcefe9fc9660c95d7e27cf'
예제 #8
0
    def test(self):
        import reportlab.test
        from reportlab.lib.utils import rl_isfile
        imageFileName = os.path.dirname(reportlab.test.__file__) + os.sep + 'pythonpowered.gif'
        assert rl_isfile(imageFileName), "%s not found!" % imageFileName

        ir = ImageReader(imageFileName)
        assert ir.getSize() == (110,44)
        pixels = ir.getRGBData()
        assert md5.md5(pixels).hexdigest() == '02e000bf3ffcefe9fc9660c95d7e27cf'
예제 #9
0
    def test(self):
        import reportlab.test
        from reportlab.lib.utils import rl_isfile
        imageFileName = os.path.dirname(reportlab.test.__file__) + os.sep + 'pythonpowered.gif'
        assert rl_isfile(imageFileName), "%s not found!" % imageFileName

        ir = ImageReader(imageFileName)
        assert ir.getSize() == (110,44)
        pixels = ir.getRGBData()
        assert md5.md5(pixels).hexdigest() == '02e000bf3ffcefe9fc9660c95d7e27cf'
예제 #10
0
파일: pdfutils.py 프로젝트: tschalch/pyTray
def cacheImageFile(filename, returnInMemory=0, IMG=None):
    "Processes image as if for encoding, saves to a file with .a85 extension."

    from reportlab.lib.utils import open_for_read
    import zlib

    cachedname = os.path.splitext(filename)[0] + '.a85'
    if filename==cachedname:
        if cachedImageExists(filename):
            if returnInMemory: return split(open_for_read(cachedname).read(),LINEEND)[:-1]
        else:
            raise IOError, 'No such cached image %s' % filename
    else:
        img = ImageReader(filename)
        if IMG is not None: IMG.append(img)

        imgwidth, imgheight = img.getSize()
        raw = img.getRGBData()

        code = []
        # this describes what is in the image itself
        code.append('BI')
        code.append('/W %s /H %s /BPC 8 /CS /RGB /F [/A85 /Fl]' % (imgwidth, imgheight))
        code.append('ID')
        #use a flate filter and Ascii Base 85
        assert(len(raw) == imgwidth * imgheight, "Wrong amount of data for image")
        compressed = zlib.compress(raw)   #this bit is very fast...
        encoded = _AsciiBase85Encode(compressed) #...sadly this may not be

        #append in blocks of 60 characters
        _chunker(encoded,code)

        code.append('EI')
        if returnInMemory: return code

        #save it to a file
        f = open(cachedname,'wb')
        f.write(join(code, LINEEND)+LINEEND)
        f.close()
        if rl_config.verbose:
            print 'cached image as %s' % cachedname
예제 #11
0
파일: pdfutils.py 프로젝트: 7o9/stdm-plugin
def makeA85Image(filename,IMG=None):
    import zlib
    img = ImageReader(filename)
    if IMG is not None: IMG.append(img)

    imgwidth, imgheight = img.getSize()
    raw = img.getRGBData()

    code = []
    append = code.append
    # this describes what is in the image itself
    append('BI')
    append('/W %s /H %s /BPC 8 /CS /%s /F [/A85 /Fl]' % (imgwidth, imgheight,_mode2cs[img.mode]))
    append('ID')
    #use a flate filter and Ascii Base 85
    assert len(raw) == imgwidth * imgheight*_mode2bpp[img.mode], "Wrong amount of data for image"
    compressed = zlib.compress(raw)   #this bit is very fast...
    encoded = _AsciiBase85Encode(compressed) #...sadly this may not be

    #append in blocks of 60 characters
    _chunker(encoded,code)

    append('EI')
    return code
 def getRGBData(self):
     return ImageReader.getRGBData(self)