本文整理汇总了Python中mapproxy.platform.image.Image类的典型用法代码示例。如果您正苦于以下问题:Python Image类的具体用法?Python Image怎么用?Python Image使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Image类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_composite_merge
def test_composite_merge(self):
# http://stackoverflow.com/questions/3374878
if not hasattr(Image, 'alpha_composite'):
raise SkipTest()
img1 = Image.new('RGBA', size=(100, 100), color=(255, 0, 0, 255))
draw = ImageDraw.Draw(img1)
draw.rectangle((33, 0, 66, 100), fill=(255, 0, 0, 128))
draw.rectangle((67, 0, 100, 100), fill=(255, 0, 0, 0))
img1 = ImageSource(img1)
img2 = Image.new('RGBA', size =(100, 100), color=(0, 255, 0, 255))
draw = ImageDraw.Draw(img2)
draw.rectangle((0, 33, 100, 66), fill=(0, 255, 0, 128))
draw.rectangle((0, 67, 100, 100), fill=(0, 255, 0, 0))
img2 = ImageSource(img2)
result = merge_images([img2, img1], ImageOptions(merge='composite', transparent=True))
img = result.as_image()
eq_(img.mode, 'RGBA')
eq_(sorted(img.getcolors()), sorted([
(1089, (0, 255, 0, 255)),
(1089, (255, 255, 255, 0)),
(1122, (0, 255, 0, 128)),
(1122, (128, 126, 0, 255)),
(1122, (255, 0, 0, 128)),
(1156, (170, 84, 0, 191)),
(3300, (255, 0, 0, 255))]))
开发者ID:gravitystorm,项目名称:mapproxy,代码行数:28,代码来源:test_image.py
示例2: test_solid_merge
def test_solid_merge(self):
img1 = ImageSource(Image.new('RGB', (10, 10), (255, 0, 255)))
img2 = ImageSource(Image.new('RGB', (10, 10), (0, 255, 255)))
result = merge_images([img1, img2], ImageOptions(transparent=False))
img = result.as_image()
eq_(img.getpixel((0, 0)), (0, 255, 255))
开发者ID:atrawog,项目名称:mapproxy,代码行数:7,代码来源:test_image.py
示例3: test_paletted_merge
def test_paletted_merge(self):
if not hasattr(Image, 'FASTOCTREE'):
raise SkipTest()
# generate RGBA images with a transparent rectangle in the lower right
img1 = ImageSource(Image.new('RGBA', (50, 50), (0, 255, 0, 255))).as_image()
draw = ImageDraw.Draw(img1)
draw.rectangle((25, 25, 49, 49), fill=(0, 0, 0, 0))
paletted_img = quantize(img1, alpha=True)
assert img_has_transparency(paletted_img)
assert paletted_img.mode == 'P'
rgba_img = Image.new('RGBA', (50, 50), (255, 0, 0, 255))
draw = ImageDraw.Draw(rgba_img)
draw.rectangle((25, 25, 49, 49), fill=(0, 0, 0, 0))
img1 = ImageSource(paletted_img)
img2 = ImageSource(rgba_img)
# generate base image and merge the others above
img3 = ImageSource(Image.new('RGBA', (50, 50), (0, 0, 255, 255)))
result = merge_images([img3, img1, img2], ImageOptions(transparent=True))
img = result.as_image()
assert img.mode == 'RGBA'
eq_(img.getpixel((49, 49)), (0, 0, 255, 255))
eq_(img.getpixel((0, 0)), (255, 0, 0, 255))
开发者ID:Anderson0026,项目名称:mapproxy,代码行数:27,代码来源:test_image.py
示例4: test_opacity_merge_mixed_modes
def test_opacity_merge_mixed_modes(self):
img1 = ImageSource(Image.new('RGBA', (10, 10), (255, 0, 255, 255)))
img2 = ImageSource(Image.new('RGB', (10, 10), (0, 255, 255)).convert('P'),
image_opts=ImageOptions(opacity=0.5))
result = merge_images([img1, img2], ImageOptions(transparent=True))
img = result.as_image()
eq_(img.getpixel((0, 0)), (127, 127, 255, 255))
开发者ID:atrawog,项目名称:mapproxy,代码行数:8,代码来源:test_image.py
示例5: test_output_formats_png24
def test_output_formats_png24(self):
img = Image.new('RGBA', (100, 100))
image_opts = PNG_FORMAT.copy()
image_opts.colors = 0 # TODO image_opts
ir = ImageSource(img, image_opts=image_opts)
img = Image.open(ir.as_buffer())
eq_(img.mode, 'RGBA')
assert img.getpixel((0, 0)) == (0, 0, 0, 0)
开发者ID:atrawog,项目名称:mapproxy,代码行数:8,代码来源:test_image.py
示例6: create_debug_img
def create_debug_img(size, transparent=True):
if transparent:
img = Image.new("RGBA", size)
else:
img = Image.new("RGB", size, ImageColor.getrgb("#EEE"))
draw = ImageDraw.Draw(img)
draw_pattern(draw, size)
return img
开发者ID:cedricmoullet,项目名称:mapproxy,代码行数:9,代码来源:image.py
示例7: test_opacity_merge_mixed_modes
def test_opacity_merge_mixed_modes(self):
img1 = ImageSource(Image.new('RGBA', (10, 10), (255, 0, 255, 255)))
img2 = ImageSource(Image.new('RGB', (10, 10), (0, 255, 255)).convert('P'),
image_opts=ImageOptions(opacity=0.5))
result = merge_images([img1, img2], ImageOptions(transparent=True))
img = result.as_image()
assert_colors_equal(img, [
(10*10, (127, 127, 255, 255)),
])
开发者ID:Anderson0026,项目名称:mapproxy,代码行数:10,代码来源:test_image.py
示例8: create_image
def create_image(size, color=None, mode=None):
if color is not None:
if isinstance(color, basestring):
if mode is None:
mode = 'RGB'
img = Image.new(mode, size, color=color)
else:
if mode is None:
mode = 'RGBA' if len(color) == 4 else 'RGB'
img = Image.new(mode, size, color=tuple(color))
else:
img = create_debug_img(size)
return img
开发者ID:cedricmoullet,项目名称:mapproxy,代码行数:13,代码来源:image.py
示例9: test_concatenation
def test_concatenation(self):
legends = []
img_1 = Image.new(mode='RGBA', size=(30,10), color="red")
img_2 = Image.new(mode='RGBA', size=(10,10), color="black")
img_3 = Image.new(mode='RGBA', size=(50,80), color="blue")
legends.append(ImageSource(img_1))
legends.append(ImageSource(img_2))
legends.append(ImageSource(img_3))
source = concat_legends(legends)
src_img = source.as_image()
assert src_img.getpixel((0,90)) == (255,0,0,255)
assert src_img.getpixel((0,80)) == (0,0,0,255)
assert src_img.getpixel((0,0)) == (0,0,255,255)
assert src_img.getpixel((49,99)) == (255,255,255,0)
assert is_png(source.as_buffer())
开发者ID:Anderson0026,项目名称:mapproxy,代码行数:15,代码来源:test_concat_legends.py
示例10: test_one_point
def test_one_point(self):
img = Image.new('RGB', (100, 100), color='#ff0000')
draw = ImageDraw.Draw(img)
draw.point((99, 99))
del draw
assert not is_single_color_image(img)
开发者ID:atrawog,项目名称:mapproxy,代码行数:7,代码来源:test_image.py
示例11: create_image
def create_image(size, image_opts=None):
"""
Create a new image that is compatible with the given `image_opts`.
Takes into account mode, transparent, bgcolor.
"""
from mapproxy.platform.image import Image, ImageColor
if image_opts is None:
mode = 'RGB'
bgcolor = (255, 255, 255)
else:
mode = image_opts.mode
if mode in (None, 'P'):
if image_opts.transparent:
mode = 'RGBA'
else:
mode = 'RGB'
bgcolor = image_opts.bgcolor or (255, 255, 255)
if isinstance(bgcolor, basestring):
bgcolor = ImageColor.getrgb(bgcolor)
if image_opts.transparent and len(bgcolor) == 3:
bgcolor = bgcolor + (0, )
if image_opts.mode == 'I':
bgcolor = bgcolor[0]
return Image.new(mode, size, bgcolor)
开发者ID:Anderson0026,项目名称:mapproxy,代码行数:30,代码来源:opts.py
示例12: assert_image_mode
def assert_image_mode(img, mode):
pos = img.tell()
try:
img = Image.open(img)
eq_(img.mode, mode)
finally:
img.seek(pos)
开发者ID:cedricmoullet,项目名称:mapproxy,代码行数:7,代码来源:image.py
示例13: test_mask_partial_image_bgcolor
def test_mask_partial_image_bgcolor(self):
img = ImageSource(
Image.new("RGB", (100, 100), color=(100, 0, 200)), image_opts=ImageOptions(bgcolor=(200, 30, 120))
)
result = mask_image_source_from_coverage(img, [0, 0, 10, 10], SRS(4326), coverage([5, 5, 30, 30]))
eq_(result.as_image().getcolors(), [(7500, (200, 30, 120)), (2500, (100, 0, 200))])
开发者ID:quiqua,项目名称:mapproxy,代码行数:7,代码来源:test_image_mask.py
示例14: test_layers_with_opacity
def test_layers_with_opacity(self):
# overlay with opacity -> request should not be combined
common_params = (r'?SERVICE=WMS&FORMAT=image%2Fpng'
'&REQUEST=GetMap&HEIGHT=200&SRS=EPSG%3A4326&styles='
'&VERSION=1.1.1&BBOX=9.0,50.0,10.0,51.0'
'&WIDTH=200')
img_bg = create_tmp_image((200, 200), color=(0, 0, 0))
img_fg = create_tmp_image((200, 200), color=(255, 0, 128))
expected_req = [
({'path': '/service_a' + common_params + '&layers=a_one'},
{'body': img_bg, 'headers': {'content-type': 'image/png'}}),
({'path': '/service_a' + common_params + '&layers=a_two'},
{'body': img_fg, 'headers': {'content-type': 'image/png'}}),
]
with mock_httpd(('localhost', 42423), expected_req):
self.common_map_req.params.layers = 'opacity_base,opacity_overlay'
resp = self.app.get(self.common_map_req)
eq_(resp.content_type, 'image/png')
data = StringIO(resp.body)
assert is_png(data)
img = Image.open(data)
eq_(img.getcolors()[0], ((200*200),(127, 0, 64)))
开发者ID:Anderson0026,项目名称:mapproxy,代码行数:25,代码来源:test_combined_sources.py
示例15: test_solid_paletted_image
def test_solid_paletted_image(self):
img = Image.new('P', (100, 100), color=20)
palette = []
for i in range(256):
palette.extend((i, i//2, i%3))
img.putpalette(palette)
eq_(is_single_color_image(img), (20, 10, 2))
开发者ID:atrawog,项目名称:mapproxy,代码行数:7,代码来源:test_image.py
示例16: test_mask_partial_image_transparent
def test_mask_partial_image_transparent(self):
img = ImageSource(Image.new('RGB', (100, 100), color=(100, 0, 200)),
image_opts=ImageOptions(transparent=True))
result = mask_image_source_from_coverage(img, [0, 0, 10, 10], SRS(4326), coverage([5, 5, 30, 30]))
eq_(result.as_image().getcolors(),
[(7500, (255, 255, 255, 0)), (2500, (100, 0, 200, 255))])
开发者ID:atrawog,项目名称:mapproxy,代码行数:7,代码来源:test_image_mask.py
示例17: test_rgb
def test_rgb(self):
if hasattr(Image, 'FASTOCTREE'):
img = Image.new('RGB', (10, 10))
assert not img_has_transparency(img)
img = quantize(img, alpha=False)
assert not img_has_transparency(img)
开发者ID:gravitystorm,项目名称:mapproxy,代码行数:7,代码来源:test_image.py
示例18: test_shapely_mask_with_transform_partial_image_transparent
def test_shapely_mask_with_transform_partial_image_transparent(self):
img = ImageSource(Image.new("RGB", (100, 100), color=(100, 0, 200)), image_opts=ImageOptions(transparent=True))
p = Polygon([(0, 0), (222000, 0), (222000, 222000), (0, 222000)]) # ~ 2x2 degres
result = mask_image_source_from_coverage(img, [0, 0, 10, 10], SRS(4326), coverage(p, "EPSG:3857"))
# 20*20 = 400
eq_(result.as_image().getcolors(), [(10000 - 400, (255, 255, 255, 0)), (400, (100, 0, 200, 255))])
开发者ID:quiqua,项目名称:mapproxy,代码行数:8,代码来源:test_image_mask.py
示例19: test_multiline_center
def test_multiline_center(self):
font = ImageFont.load_default()
td = TextDraw('Hello\nWorld', font, placement='cc')
img = Image.new('RGB', (100, 100))
draw = ImageDraw.Draw(img)
total_box, boxes = td.text_boxes(draw, (100, 100))
eq_(total_box, (35, 38, 65, 63))
eq_(boxes, [(35, 38, 65, 49), (35, 52, 65, 63)])
开发者ID:atrawog,项目名称:mapproxy,代码行数:8,代码来源:test_image_messages.py
示例20: test_unicode
def test_unicode(self):
font = ImageFont.load_default()
td = TextDraw(u'Héllö\nWørld', font, placement='cc')
img = Image.new('RGB', (100, 100))
draw = ImageDraw.Draw(img)
total_box, boxes = td.text_boxes(draw, (100, 100))
eq_(total_box, (35, 38, 65, 63))
eq_(boxes, [(35, 38, 65, 49), (35, 52, 65, 63)])
开发者ID:atrawog,项目名称:mapproxy,代码行数:8,代码来源:test_image_messages.py
注:本文中的mapproxy.platform.image.Image类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论