回答
這是一個綁定到MagickWand API:http://www.assembla.com/wiki/show/pythonmagickwand
所以,你可以使用所有的MagickWand API函數。
#!/usr/bin/python
import Magick
# Use the Python Imaging Library to create a Tk display
dpy = Magick.TkDisplay(startmain=0)
# Read the image
img = Magick.read('test.gif')
# Display the image
dpy(img)
dpy(img.Swirl(90))
dpy.startmain=1
dpy.show()
我不知道爲什麼這被接受,這是不正確的。 *有兩種不同的Python-ImageMagick API *。 OP詢問一個(PythonMagick),並且您正在回答關於另一個(PythonMagickWand)的信息。 – 2012-05-09 05:58:49
是的,我不好,我也不知道。 – Natim 2014-02-09 09:05:42
我在任何地方都找不到它們,但這是我無論如何都在使用它的原因。
例
import PythonMagick
image = PythonMagick.Image("sample_image.jpg")
print image.fileName()
print image.magick()
print image.size().width()
print image.size().height()
具有輸出這樣
sample_image.jpg
JPEG
345
229
要找出圖像方法可用於例如我在CPP源看去。以圖片對象綁定:在_Image.cpp 執行的圖像或更好地仍然看看在這個頁面上獲得Klaus的另一個答案中包含的方法的建議。
在這個文件中,你會看到這樣
.def("contrast", &Magick::Image::contrast)
.def("convolve", &Magick::Image::convolve)
.def("crop", &Magick::Image::crop)
.def("cycleColormap", &Magick::Image::cycleColormap)
.def("despeckle", &Magick::Image::despeckle)
引號中的位映射到圖像對象的函數名線。遵循這種方法,您可以充分發揮作用。例如幾何具體方法是在_Geometry.cpp和包括常規的做法一樣
.def("width", (size_t (Magick::Geometry::*)() const)&Magick::Geometry::width)
.def("height", (void (Magick::Geometry::*)(size_t))&Magick::Geometry::height)
.def("height", (size_t (Magick::Geometry::*)() const)&Magick::Geometry::height)
.def("xOff", (void (Magick::Geometry::*)(ssize_t))&Magick::Geometry::xOff)
.def("xOff", (ssize_t (Magick::Geometry::*)() const)&Magick::Geometry::xOff)
要找出方法輸入的Python:
import PythonMagick
dir(PythonMagick.Image())
那麼你得到的輸出這樣的:
['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__instance_size__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'adaptiveThreshold', 'addNoise', 'adjoin', 'affineTransform', 'animationDelay', 'animationIterations', 'annotate', 'antiAlias', 'attribute', 'backgroundColor', 'backgroundTexture', 'baseColumns', 'baseFilename', 'baseRows', 'blur', 'border', 'borderColor', 'boundingBox', 'boxColor', 'cacheThreshold', 'channel', 'channelDepth', 'charcoal', 'chop', 'chromaBluePrimary', 'chromaGreenPrimary', 'chromaRedPrimary', 'chromaWhitePoint', 'classType', 'clipMask', 'colorFuzz', 'colorMap', 'colorMapSize', 'colorSpace', 'colorize', 'columns', 'comment', 'compare', 'compose', 'composite', 'compressType', 'contrast', 'convolve', 'crop', 'cycleColormap', 'debug', 'defineSet', 'defineValue', 'density', 'depth', 'despeckle', 'directory', 'display', 'draw', 'edge', 'emboss', 'endian', 'enhance', 'equalize', 'erase', 'fileName', 'fileSize', 'fillColor', 'fillPattern', 'fillRule', 'filterType', 'flip', 'floodFillColor', 'floodFillOpacity', 'floodFillTexture', 'flop', 'font', 'fontPointsize', 'fontTypeMetrics', 'format', 'frame', 'gamma', 'gaussianBlur', 'geometry', 'gifDisposeMethod', 'iccColorProfile', 'implode', 'interlaceType', 'iptcProfile', 'isValid', 'label', 'lineWidth', 'magick', 'magnify', 'map', 'matte', 'matteColor', 'matteFloodfill', 'meanErrorPerPixel', 'medianFilter', 'minify', 'modifyImage', 'modulate', 'modulusDepth', 'monochrome', 'montageGeometry', 'negate', 'normalize', 'normalizedMaxError', 'normalizedMeanError', 'oilPaint', 'opacity', 'opaque', 'page', 'penColor', 'penTexture', 'ping', 'pixelColor', 'process', 'profile', 'quality', 'quantize', 'quantizeColorSpace', 'quantizeColors', 'quantizeDither', 'quantizeTreeDepth', 'raise', 'read', 'readPixels', 'reduceNoise', 'registerId', 'renderingIntent', 'resolutionUnits', 'roll', 'rotate', 'rows', 'sample', 'scale', 'scene', 'segment', 'shade', 'sharpen', 'shave', 'shear', 'signature', 'size', 'solarize', 'spread', 'statistics', 'stegano', 'stereo', 'strokeAntiAlias', 'strokeColor', 'strokeDashOffset', 'strokeLineCap', 'strokeLineJoin', 'strokeMiterLimit', 'strokePattern', 'strokeWidth', 'subImage', 'subRange', 'swirl', 'syncPixels', 'textEncoding', 'texture', 'threshold', 'throwImageException', 'tileName', 'totalColors', 'transform', 'transformOrigin', 'transformReset', 'transformRotation', 'transformScale', 'transformSkewX', 'transformSkewY', 'transparent', 'trim', 'type', 'unregisterId', 'unsharpmask', 'verbose', 'view', 'wave', 'write', 'writePixels', 'x11Display', 'xResolution', 'yResolution', 'zoom']
從我所知道的,PythonMagick包裝Magick++ library。我已經能夠使用這個庫複製和粘貼C++代碼到python中,並且它按預期工作。再加上類和成員函數匹配的名稱(MagickWand似乎完全不同)。
import PythonMagick as Magick
img = Magick.Image("testIn.jpg")
img.quality(100) #full compression
img.magick('PNG')
img.write("testOut.png")
對於任何仍在嘗試查找PythonMagick文檔的人,PythonMagick與Magick ++(API for C++)完全相同。 here是Magick ++文檔。對於某些特定參數,您需要找到枚舉的類型(例如gravity-> PythonMagick.GravityType.thegravityyouwant)
- 1. couchnode的示例和文檔
- 2. boost threadpool - 文檔和示例
- 3. XACML和WCF示例和文檔
- 4. ruby的xquery文檔/示例
- 5. WinRTXamlToolkit.UWP的文檔或示例
- 6. ffserver文檔和示例代碼
- 7. Apache Avro架構示例和文檔
- 8. Android脫機文檔和示例代碼
- 9. 示例項目文檔
- 10. AtTask API文檔/示例
- 11. 我在哪裏可以找到PythonMagick文檔?
- 12. 使用firebase的任何示例 - 文檔
- 13. 來自Redux文檔示例的問題
- 14. ruby文檔中的module_function示例
- 15. Python標準庫中的文檔示例
- 16. 來自Doctrine 2文檔的示例
- 17. OptaPlanner Shadow Variable的詳細示例/文檔?
- 18. Django:文檔中的內嵌formset示例
- 19. Slick文檔中的錯誤示例?
- 20. 實現Java文檔模型的示例
- 21. XML文檔中的多語言示例
- 22. PythonMagick的ColorSpace類型
- 23. 突出顯示忽略c文檔中的文檔案例#
- 24. 安裝PythonMagick
- 25. 如何PythonMagick
- 26. 文檔/使用Selenium和Python導航網站的示例
- 27. MongoDB中的多文檔事務 - 書籍和作者示例
- 28. Microsoft安全目錄格式的文檔和API示例
- 29. 任何知道關於bzr的良好示例和文檔
- 30. 哪裏可以找到Ext.Net MVC4 Razor的示例和/或文檔?
Jack您可以更改接受的答案嗎? – Natim 2014-11-19 11:24:34