本文整理汇总了Python中willow.image.Image类的典型用法代码示例。如果您正苦于以下问题:Python Image类的具体用法?Python Image怎么用?Python Image使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Image类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_switches_backend
def test_switches_backend(self):
"""
Tests that calling an operation will switch backend if the current
backend doesn't support it
"""
def say_hello(backend):
return "Hello world!"
self.FakeBackend.operations = {
'say_hello': say_hello,
}
def say_goodbye(backend):
return "Goodbye!"
self.AnotherFakeBackend.operations = {
'say_goodbye': say_goodbye,
}
image = Image(self.FakeBackend(), 'jpeg')
self.assertIsInstance(image.backend, self.FakeBackend)
image.say_goodbye()
self.assertIsInstance(image.backend, self.AnotherFakeBackend)
image.say_hello()
self.assertIsInstance(image.backend, self.FakeBackend)
开发者ID:helenwarren,项目名称:Willow,代码行数:27,代码来源:test_image.py
示例2: test_register_backend
def test_register_backend(self):
"""
Tests basic usage of register_backend
"""
Image.register_backend(self.FakeBackend)
self.assertEqual(Image.backends, [self.FakeBackend])
开发者ID:helenwarren,项目名称:Willow,代码行数:7,代码来源:test_image.py
示例3: test_register_backend_multiple
def test_register_backend_multiple(self):
"""
Tests register_backend can register multiple backends
"""
Image.register_backend(self.FakeBackend)
Image.register_backend(self.AnotherFakeBackend)
self.assertEqual(Image.backends, [self.FakeBackend, self.AnotherFakeBackend])
开发者ID:helenwarren,项目名称:Willow,代码行数:8,代码来源:test_image.py
示例4: test_save_as_foo
def test_save_as_foo(self):
image = Image()
image.save_as_jpeg = mock.MagicMock()
with self.assertRaises(ValueError):
image.save("foo", "outfile")
self.assertFalse(image.save_as_jpeg.mock_calls)
开发者ID:KarimJedda,项目名称:Willow,代码行数:8,代码来源:test_image.py
示例5: test_register_backend_removes_duplicates
def test_register_backend_removes_duplicates(self):
"""
Tests register_backend won't insert the same backend more than once
"""
Image.register_backend(self.FakeBackend)
Image.register_backend(self.FakeBackend)
self.assertEqual(Image.backends, [self.FakeBackend])
开发者ID:helenwarren,项目名称:Willow,代码行数:8,代码来源:test_image.py
示例6: test_raises_error_on_invalid_header
def test_raises_error_on_invalid_header(self):
import imghdr
f = io.BytesIO()
f.write(b'Not an image')
f.seek(0)
with self.assertRaises(UnrecognisedImageFormatError) as e:
Image.open(f)
开发者ID:KarimJedda,项目名称:Willow,代码行数:9,代码来源:test_image.py
示例7: test_register_loader
def test_register_loader(self):
"""
Tests basic usage of register_loader
"""
Image.register_loader('jpeg', self.FakeBackend)
self.assertEqual(Image.loaders, {
'jpeg': [
(0, self.FakeBackend),
],
})
开发者ID:helenwarren,项目名称:Willow,代码行数:11,代码来源:test_image.py
示例8: test_register_loader_priority
def test_register_loader_priority(self):
"""
Tests that register_loader saves priority
"""
Image.register_loader('jpeg', self.FakeBackend, priority=100)
self.assertEqual(Image.loaders, {
'jpeg': [
(100, self.FakeBackend),
],
})
开发者ID:helenwarren,项目名称:Willow,代码行数:11,代码来源:test_image.py
示例9: has_jpeg_support
def has_jpeg_support():
wagtail_jpg = os.path.join(os.path.dirname(__file__), 'check_files', 'wagtail.jpg')
succeeded = True
with open(wagtail_jpg, 'rb') as f:
try:
Image.open(f)
except (IOError, Image.LoaderError):
succeeded = False
return succeeded
开发者ID:Anlim,项目名称:wagtail,代码行数:11,代码来源:checks.py
示例10: test_image_format_detection
def test_image_format_detection(self):
Image.loaders = {
'png': [
(0, self.FakeBackend),
],
'jpeg': [
(100, self.AnotherFakeBackend),
],
}
self.assertIsInstance(Image.open('tests/images/transparent.png').backend, self.FakeBackend)
self.assertIsInstance(Image.open('tests/images/flower.jpg').backend, self.AnotherFakeBackend)
开发者ID:helenwarren,项目名称:Willow,代码行数:12,代码来源:test_image.py
示例11: test_register_loader_priority_multiple
def test_register_loader_priority_multiple(self):
"""
Tests that register_loader keeps the loaders list sorted by priority
"""
Image.register_loader('jpeg', self.FakeBackend, priority=100)
Image.register_loader('jpeg', self.AnotherFakeBackend, priority=200)
self.assertEqual(Image.loaders, {
'jpeg': [
(100, self.FakeBackend),
(200, self.AnotherFakeBackend),
],
})
开发者ID:helenwarren,项目名称:Willow,代码行数:13,代码来源:test_image.py
示例12: test_register_loader_priority_same
def test_register_loader_priority_same(self):
"""
Tests that new loaders are placed after loaders that have the same
priority
"""
Image.register_loader('jpeg', self.FakeBackend)
Image.register_loader('jpeg', self.AnotherFakeBackend)
self.assertEqual(Image.loaders, {
'jpeg': [
(0, self.FakeBackend),
(0, self.AnotherFakeBackend),
],
})
开发者ID:helenwarren,项目名称:Willow,代码行数:14,代码来源:test_image.py
示例13: test_register_loader_different_extension_at_same_time_with_priority
def test_register_loader_different_extension_at_same_time_with_priority(self):
"""
Tests that register_loader saves priority when using multipe extensions
"""
Image.register_loader(['jpeg', 'gif'], self.FakeBackend, priority=100)
self.assertEqual(Image.loaders, {
'jpeg': [
(100, self.FakeBackend),
],
'gif': [
(100, self.FakeBackend),
],
})
开发者ID:helenwarren,项目名称:Willow,代码行数:14,代码来源:test_image.py
示例14: test_image_detect_stream
def test_image_detect_stream(self):
Image.loaders = {
'png': [
(0, self.FakeBackend),
],
'jpeg': [
(100, self.AnotherFakeBackend),
],
}
with open('tests/images/transparent.png', 'rb') as f:
self.assertIsInstance(Image.open(f).backend, self.FakeBackend)
with open('tests/images/flower.jpg', 'rb') as f:
self.assertIsInstance(Image.open(f).backend, self.AnotherFakeBackend)
开发者ID:sixpearls,项目名称:Willow,代码行数:14,代码来源:test_image.py
示例15: test_return_value_gets_passed_back
def test_return_value_gets_passed_back(self):
"""
Tests that the return value of the underlying function gets passed back
to the caller
"""
def myop(backend):
return "Hello world!"
self.FakeBackend.operations = {
'test': myop,
}
image = Image(self.FakeBackend(), 'jpeg')
self.assertEqual(image.test(), "Hello world!")
开发者ID:helenwarren,项目名称:Willow,代码行数:15,代码来源:test_image.py
示例16: test_register_loader_different_extension_at_same_time_tuple
def test_register_loader_different_extension_at_same_time_tuple(self):
"""
Tests that a single backend can be assigned to load two extensions with
a single call to register_loader using a tuple
"""
Image.register_loader(('jpeg', 'gif'), self.FakeBackend)
self.assertEqual(Image.loaders, {
'jpeg': [
(0, self.FakeBackend),
],
'gif': [
(0, self.FakeBackend),
],
})
开发者ID:helenwarren,项目名称:Willow,代码行数:15,代码来源:test_image.py
示例17: test_register_loader_priority_multiple_other_way
def test_register_loader_priority_multiple_other_way(self):
"""
Tests that register_loader keeps the loaders list sorted by priority
Same as above test, just inserting in opposite way to make sure the
loaders are being sorted by priority (and not insertion order)
"""
Image.register_loader('jpeg', self.FakeBackend, priority=200)
Image.register_loader('jpeg', self.AnotherFakeBackend, priority=100)
self.assertEqual(Image.loaders, {
'jpeg': [
(100, self.AnotherFakeBackend),
(200, self.FakeBackend),
],
})
开发者ID:helenwarren,项目名称:Willow,代码行数:16,代码来源:test_image.py
示例18: test_calls_function
def test_calls_function(self):
"""
Tests that calling the operation calls the underlying function
"""
def myop(backend):
backend.func_called = True
self.FakeBackend.operations = {
'test': myop,
}
image = Image(self.FakeBackend(), 'jpeg')
image.backend.func_called = False
image.test()
self.assertTrue(image.backend.func_called)
开发者ID:helenwarren,项目名称:Willow,代码行数:16,代码来源:test_image.py
示例19: test_register_loader_different_extension
def test_register_loader_different_extension(self):
"""
Tests that register_loader stores loaders for different extensions
separately
"""
Image.register_loader('jpeg', self.FakeBackend)
Image.register_loader('gif', self.FakeBackend)
self.assertEqual(Image.loaders, {
'jpeg': [
(0, self.FakeBackend),
],
'gif': [
(0, self.FakeBackend),
],
})
开发者ID:helenwarren,项目名称:Willow,代码行数:16,代码来源:test_image.py
示例20: get_willow_image
def get_willow_image(self):
# Open file if it is closed
close_file = False
try:
image_file = self.file
if self.file.closed:
# Reopen the file
if self.is_stored_locally():
self.file.open('rb')
else:
# Some external storage backends don't allow reopening
# the file. Get a fresh file instance. #1397
storage = self._meta.get_field('file').storage
image_file = storage.open(self.file.name, 'rb')
close_file = True
except IOError as e:
# re-throw this as a SourceImageIOError so that calling code can distinguish
# these from IOErrors elsewhere in the process
raise SourceImageIOError(text_type(e))
# Seek to beginning
image_file.seek(0)
try:
yield WillowImage.open(image_file)
finally:
if close_file:
image_file.close()
开发者ID:tony,项目名称:wagtail,代码行数:30,代码来源:models.py
注:本文中的willow.image.Image类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论