For example I use this code in a method to create an ImageIcon
corresponding to IndigoObjectArray. That is to say I have a new
instance of Indigo and IndigoRenderer for each IndigoObjectArray:
// Set Indigo and IndigoRenderer instance
Indigo session = new Indigo();
IndigoRenderer renderer = new IndigoRenderer(session);
// Set Indigo Option for rendering
session.setOption("render-output-format", "png");
session.setOption("render-coloring", "true");
session.setOption("render-bond-length", "40");
session.setOption("render-background-color", 1.f, 1.f, 1.f);
session.setOption("render-margins", 10, 10);
session.setOption("render-grid-title-property","NAME" );
// Create an IndigoObjectArray
IndigoObject indigoMolList = session.createArray();
for (IndigoObject indigoMol : session.iterateSDFile("C\\MyFile.sdf")){
item.setProperty("NAME",
item.name());
item.layout();
indigoMolList.arrayAdd(item);
}
// Its here I have "JavaPointerNullException" randomly....
byte[] byteList = renderer.renderGridToBuffer(indigoMolList, null, 2);
// Set ImageIcon
ImageIcon imageIcon = new ImageIcon(byteList);
Best regards,
Médérich.