Как я могу получить доступ к неподдерживаемому интерфейсу Wand через интерфейс Pandon Wand? Например, я хочу вызвать Wand API MagickAddNoiseImage
, но он недоступен в интерфейсе Python.Доступ к неподдерживаемым API-интерфейсам с помощью wand-py?
1
A
ответ
1
Доступ к неподдерживаемым API-интерфейсам довольно прост с wand.api, но вам нужно будет открыть файлы документов/заголовков ImageMagick для справки.
from wand.api import library
import ctypes
# Re-create NoiseType enum
NOISE_TYPES = ('undefined', 'uniform', 'gaussian', 'multiplicative_gaussian',
'impulse', 'laplacian', 'poisson', 'random')
# Map API i/o
library.MagickAddNoiseImage.argtypes = [ctypes.c_void_p,
ctypes.c_uint]
library.MagickAddNoiseImage.restype = ctypes.c_int
# Extend wand's Image class with your new API
from wand.image import Image
class MySupportedImage(Image):
def add_noise(self, noise_type):
"""My MagickAddNoiseImage"""
if noise_type not in NOISE_TYPES:
self.raise_exception()
return library.MagickAddNoiseImage.argtypes(self.resource,
NOISE_TYPES.index(noise_type))
Если ваше решение работает, подумайте о представлении вашего решения back to the community (после того, как вы создали тест твердого блока.)
Смежные вопросы
- 1. Как получить доступ к неподдерживаемым элементам пользовательского интерфейса?
- 2. Googleplay - Совместимость с неподдерживаемым устройством
- 3. HttpWebRequest AddRange() с неподдерживаемым сервером
- 4. Сделать IE не повесить с неподдерживаемым Javascript?
- 5. Ввод пуска - [ERROR] Ошибка инициализации терминала; откатиться к неподдерживаемым
- 6. Доступ к переменным экземпляра с помощью индекса
- 7. Bootstrap: Доступ к переключателям с помощью табуляции
- 8. Доступ к внешнему браузеру с помощью C#
- 9. Доступ к элементам структуры с помощью указателей
- 10. Доступ к именованной трубе с помощью Simulink?
- 11. Доступ к ISimpleDOMNode Mozilla, с помощью IAccessible
- 12. Доступ к имени класса с помощью JQuery
- 13. Доступ к MQ с помощью JMS
- 14. Доступ к данным Google с помощью C++
- 15. Доступ к данным ответа с помощью JavaScript
- 16. Доступ к классу с помощью меню переключателя
- 17. Доступ к атрибуту `draggable` с помощью javascript
- 18. Доступ к настройке телефона с помощью lua
- 19. Доступ к Google Api с помощью Nodejs
- 20. Доступ к другому файлу с помощью ajax
- 21. Доступ к компьютеру с помощью публичного IP
- 22. Доступ к строковому классу с помощью оператора []
- 23. Доступ к Sharepoint WebServices с помощью Java
- 24. доступ к веб-сайту с помощью PhoneGap
- 25. Доступ к API Outlook с помощью Python
- 26. Доступ к данным с помощью VS2010 IDE?
- 27. Доступ к обещанию с помощью компонентаDidMount
- 28. Firebase: доступ к снимкам с помощью swift3
- 29. Доступ к объекту javascript с помощью jQuery
- 30. Sling - доступ к свойствам с помощью страницыContext