/// <summary>
/// Render molecule into bitmap of specified size.
/// </summary>
/// <param name="bitmapWidth"></param>
/// <param name="bitmapHeight"></param>
/// <param name="dp"></param>
/// <returns></returns>
public Bitmap GetMoleculeBitmap(
int bitmapWidth,
int bitmapHeight,
DisplayPreferences dp = null)
{
byte[] ba;
FileStream fs;
float top, bottom, left, right, height, width, strBottom, hCenter, drop, stdBndLen, scale, fontSize, bondThickness;
int txtLen;
Bitmap bm;
UpdateNativeMolecule();
if (NativeMol == null || NativeMol.getAtomCount() == 0)
{
return(null);
}
//NativeMol.setProperty(CDKConstants.TITLE, "caffeine"); // title already set from input!
sun.awt.Win32FontManager w32Font = new sun.awt.Win32FontManager(); // need this for class to be found
Environment.SetEnvironmentVariable("CLASSPATH", ".", EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("JAVA_HOME", @"C:\Mobius_OpenSource\MobiusCommon\CdkMx\bin\Debug", EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("Path", @"%JAVA_HOME%", EnvironmentVariableTarget.Process);
/* Need following?
* CLASSPATH=.; / JAVA_HOME=C:\Program Files\Java\jdk1.6.0_21 / Path=%JAVA_HOME%\bin;
*/
//DecimalFormatSymbols.getInstance(Local.ENGLISH);
//Locale.forLanguageTag("en-US")
DepictionGenerator dptgen = new DepictionGenerator();
dptgen.withSize(bitmapWidth, bitmapHeight); // px (raster) or mm (vector)
//dptgen.withMolTitle();
//dptgen.withTitleColor(Color.DarkGray); // annotations are red by default
Depiction d = dptgen.depict(NativeMol);
/*
*
* public const string SVG_FMT = "svg";
* public const string PS_FMT = "ps";
* public const string EPS_FMT = "eps";
* public const string PDF_FMT = "pdf";
* public const string JPG_FMT = "jpg";
* public const string PNG_FMT = "png";
* public const string GIF_FMT = "gif";
*
* public const string UNITS_MM = "mm";
* public const string UNITS_PX = "px";
*/
java.util.List formats = d.listFormats();
java.io.File file = new java.io.File(@"c:\downloads\test.jpg");
bool b = file.canWrite();
string s = d.toSvgStr();
d.writeTo("jpg", file);
//d.writeTo("svg", @"c:\downloads\test.svg");
//string svg = d.toSvgStr();
//bm = SvgUtil.GetBitmapFromSvgXml(svg, bitmapWidth);
bm = new Bitmap(@"c:\downloads\test.jpg");
return(bm);
}