private void OpenStructure(string StName) { // Создаём OpenBabel объекты OBConversion obconv = new OBConversion(); OBMol mol = Functions.ReadMoleculeFromFile(StName); obconv.SetOutFormat("_png2"); obconv.AddOption("w", OBConversion.Option_type.OUTOPTIONS, panel1.Width.ToString()); obconv.AddOption("h", OBConversion.Option_type.OUTOPTIONS, panel1.Height.ToString()); string TempPic = Functions.TempFile(); obconv.WriteFile(mol, TempPic); // Пишем картинку в temp // Это такое колдунство // Мне стыдно, но по-другому не выходит obconv.CloseOutFile(); Bitmap bmp = new Bitmap(panel1.Width, panel1.Height); // Рисуем на панели panel1.BackgroundImage = bmp; Image IM = Image.FromFile(TempPic); Graphics g = Graphics.FromImage(panel1.BackgroundImage); g.DrawImage(IM, 0, 0); IM.Dispose(); g.Dispose(); panel1.Invalidate(); // Высчитываем параметры label3.Text = "Молярная масса: " + Math.Round(mol.GetExactMass(), 4); label4.Text = "Брутто-формула: " + mol.GetFormula(); }
public MoleculeBase BuildMoleculeBase() { return(new MoleculeBase { MolStat = GetMolStat(), Fp2 = GetFP("FP2"), Fp4 = GetFP("FP4"), Mass = mol.GetMolWt(), Formula = mol.GetFormula(), ExactMass = mol.GetExactMass(), Charge = (short)mol.GetTotalCharge(), InChI = GetInChI(), InChIKey = GetInChIKey(), MolFile = GetMolFileText(), IsomericSmiles = GetISOMericSmiles().TrimEnd(), CanonicSmiles = GetCanonicalSmiles().TrimEnd(), }); }