Ejemplo n.º 1
0
def _parse_color(lino, line, palette, cpp, count):
    line = _sanitize_quoted_line(lino, line)
    key = line[:cpp]
    parts = line[cpp + 1 :].split()
    if len(parts) % 2 != 0:
        raise Image.Error("invalid XPM file line {}: invalid color".format(lino))
    pairs = sorted(zip(parts[::2], parts[1::2]))
    name = pairs[0][1].strip()
    palette[key] = Image.ColorForName["transparent"] if name.lower() == "none" else Image.color_for_name(name)
    count -= 1
    if count == 0:
        return count, _WANT_PIXELS
    return count, _WANT_COLOR
Ejemplo n.º 2
0
def _parse_color(lino, line, palette, cpp, count):
    line = _sanitize_quoted_line(lino, line)
    key = line[:cpp]
    parts = line[cpp + 1:].split()
    if len(parts) % 2 != 0:
        raise Image.Error(
            "invalid XPM file line {}: invalid color".format(lino))
    pairs = sorted(zip(parts[::2], parts[1::2]))
    name = pairs[0][1].strip()
    palette[key] = (Image.ColorForName["transparent"]
                    if name.lower() == "none" else Image.color_for_name(name))
    count -= 1
    if count == 0:
        return count, _WANT_PIXELS
    return count, _WANT_COLOR
Ejemplo n.º 3
0
import Image

image = Image.Image.create(64, 64, Image.color_for_name("red"))
image.save("red_64x64.xpm")
Ejemplo n.º 4
0
"""
代理模式
"""

import os
import tempfile
import Image

YELLOW, CYAN, BLUE, RED, BLACK = (Image.color_for_name(color)
    for color in ("yellow", "cyan", "blue", "red", "black"))


class ImageProxy:
    def __init__(self, ImageClass, width=None, height=None, filename=None):
        assert (width is not None and height is not None) or \
            filename is not None
        self.Image = ImageClass
        self.commands = []
        if filename is not None:
            self.load(filename)
        else:
            self.commands = [(self.Image, width, height)]

    def load(self, filename):
        self.commands = [(self.Image, None, None, filename)]

    def save(self, filename=None):
        command = self.commands.pop(0)
        function, *args = command
        image = function(*args)
        for command in self.commands: