using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ChemAxon.NET.Base.Chemistry.Data;
using ChemAxon.NET.IKVM.Chemistry;
using ChemAxon.NET.Base.Chemistry.Formats;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.Drawing;
namespace _2013_Developer_training {
public class MoleculeImage {
public static void RenderImage() {
var benzeneData = new MoleculeData("C1=CC=CC=C1", MoleculeFormat.Unknown);
var benzeneMolecule = new JChemMolecule(benzeneData);
/////////////////////////////////////////////////////////////////////////////////////////
// simple benzene rendering with default rendering settings
var image = benzeneMolecule.Renderer.RenderToImage(ImageFormat.Emf);
ShowImage(image, "Render a simple EMF image!");
}
public static void ChangeImageDrawingSettings() {
var benzeneData = new MoleculeData("C1=CC=CC=C1", MoleculeFormat.Unknown);
var benzeneMolecule = new JChemMolecule(benzeneData);
/////////////////////////////////////////////////////////////////////////////////////////
// changing the settings and reredering of the same molecule
benzeneMolecule.Renderer.Settings.DrawingInfo.Size = new Size(120, 120);
benzeneMolecule.Renderer.Settings.DrawingInfo.StructureDrawingSettings.WireThickness = 0.23;
var image = benzeneMolecule.Renderer.RenderToImage(ImageFormat.Emf);
ShowImage(image, "Changing image and rendering settings");
}
public static void DrawImageInWebApplications(){
var benzeneData = new MoleculeData("C1=CC=CC=C1", MoleculeFormat.Unknown);
var benzeneMolecule = new JChemMolecule(benzeneData);
/////////////////////////////////////////////////////////////////////////////////////////
// changing the background color and rendering the molecule as bitmap
benzeneMolecule.Renderer.Settings.DrawingInfo.Transparent = false;
benzeneMolecule.Renderer.Settings.DrawingInfo.BackgroundColor = Color.LightGreen;
var image = benzeneMolecule.Renderer.RenderToImage(ImageFormat.Bmp);
ShowImage(image, "Non-transparent iamge for web/browser based applications");
}
private static void ShowImage(Image image, string title) {
var pb = new PictureBox();
var frm = new Form();
frm.Text = title;
frm.Controls.Add(pb);
pb.Dock = DockStyle.Fill;
pb.Image = image;
frm.ShowDialog();
}
}
}