[Rdkit-devel] [PATCH 17/17] Allow passing a Canvas object to MolToImage().
Open-Source Cheminformatics and Machine Learning
Brought to you by:
glandrum
|
From: Gianluca S. <gi...@gm...> - 2011-03-19 09:44:47
|
Use cairo based Canvas by default
---
rdkit/Chem/Draw/__init__.py | 31 ++++++++++++++++---------------
1 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/rdkit/Chem/Draw/__init__.py b/rdkit/Chem/Draw/__init__.py
index e42eb64..ac1df88 100644
--- a/rdkit/Chem/Draw/__init__.py
+++ b/rdkit/Chem/Draw/__init__.py
@@ -7,7 +7,8 @@ import os.path
from MolDrawing import MolDrawing
-def MolToImage(mol, size=(300,300), kekulize=True, wedgeBonds=True, **kwargs):
+def MolToImage(mol, size=(300,300), kekulize=True, wedgeBonds=True,
+ canvas=None, **kwargs):
""" returns a PIL image containing a drawing of the molecule
Keyword arguments:
@@ -19,25 +20,25 @@ def MolToImage(mol, size=(300,300), kekulize=True, wedgeBonds=True, **kwargs):
"""
if not mol:
raise ValueError,'Null molecule provided'
- import Image
- try:
- from aggCanvas import Canvas
- useAGG=True
- except ImportError:
+ if canvas is None:
+ import Image
useAGG=False
+ useCAIRO=False
try:
from cairoCanvas import Canvas
useCAIRO=True
except ImportError:
- useCAIRO=False
- from spingCanvas import Canvas
- canvas = Canvas(size=size,name='MolToImageFile')
- img = canvas._image
- drawer = MolDrawing(canvas)
- if useAGG or useCAIRO:
- img = Image.new("RGBA",size,"white")
- canvas = Canvas(img)
- drawer = MolDrawing(canvas)
+ try:
+ from aggCanvas import Canvas
+ useAGG=True
+ except ImportError:
+ from spingCanvas import Canvas
+ canvas = Canvas(size=size,name='MolToImageFile')
+ img = canvas._image
+ if useAGG or useCAIRO:
+ img = Image.new("RGBA",size,"white")
+ canvas = Canvas(img)
+ drawer = MolDrawing(canvas)
if kekulize:
from rdkit import Chem
--
1.7.4
|