Exemplo n.º 1
0
 def update(self):
     if app.config.preferences.use_cms_for_bitmap:
         if self.image_mode == CMYK_IMAGE:
             self.image = colormanager.ImageCMYKtoRGB(self.orig_image)
         else:
             self.image = self.orig_image.convert('RGB')
     else:
         self.image = self.orig_image.convert('RGB')
	def Convert(self, mode):
		if mode != self.orig_image.mode:
			if app.config.preferences.use_cms_for_bitmap:
				if mode=='RGB'and self.orig_image.mode=='CMYK':
					return ImageData(colormanager.ImageCMYKtoRGB(self.orig_image))
				if mode=='CMYK'and self.orig_image.mode=='RGB':
					return ImageData(colormanager.ImageRGBtoCMYK(self.orig_image))
				return ImageData(self.orig_image.convert(mode))
			else:				
				return ImageData(self.orig_image.convert(mode))
		else:
			return self
Exemplo n.º 3
0
    def __init__(self, image, filename='', cache=1):
        self.orig_image = image.copy()

        if image.mode == '1':
            self.image_mode = BW_IMAGE
        elif image.mode == 'L':
            self.image_mode = GRAYSCALE_IMAGE
        elif image.mode == 'RGB':
            self.image_mode = RGB_IMAGE
        elif image.mode == 'RGBA':
            self.image_mode = RGBA_IMAGE
        elif image.mode == 'CMYK':
            self.image_mode = CMYK_IMAGE
            colormanager.add_to_image_pool(self)
            self.cached = 1
        else:
            self.image_mode = UNSUPPORTED

        if image.mode not in ('RGB', 'RGBA'):
            image.load()
            if image.mode == 'CMYK':
                if app.config.preferences.use_cms_for_bitmap:
                    self.image = colormanager.ImageCMYKtoRGB(image)
                else:
                    self.image = image.convert('RGB')
            else:
                self.image = image.convert('RGB')
        else:
            image.load()
            self.image = image

        if self.image_mode == UNSUPPORTED:
            self.orig_image = self.image.copy()
            self.image_mode = RGB_IMAGE

        ExternalData.__init__(self, filename, cache)