示例#1
0
 def get_file_name(self, ext = 'png'):
     if self.file_name:
         return self.file_name
     if self.image:
         self.file_name = temp_file_name('.'+ext, config.get_tmp_dir())
         self.image.save(self.file_name)
         return self.file_name
     assert(False)
示例#2
0
    def __call__(self, img_ref):
        if self.colors >= 256:
            return img_ref

        img = img_ref.get_image()
        if img.mode != 'L':
            return img_ref

        colors = image_colors(img)
        if colors <= self.colors:
            return img_ref

        out_file_name = temp_file_name('.png', config.get_tmp_dir())
        cmd = ['convert']
        scolors = '%d' % (self.colors,)
        cmd.extend(['-colors', scolors])
        cmd.extend(['-depth', '8', img_ref.get_file_name(), out_file_name])
        check_call(cmd)
        return ImageRef(file_name = out_file_name)
示例#3
0
 def __call__(self, img_ref):
     out_file_name = temp_file_name('.png', config.get_tmp_dir())
     check_call(['unpaper', '-q', '--no-deskew',
                 img_ref.get_file_name(), out_file_name])
     return ImgRef(file_name = out_file_name)