Doesn't Asphyre render to object's TCanvas? If that's so, you could make invisible TImage, copy content of render target object into TImage's canvas (after setting proper dimensions of TImage.Picture.Bitmap), then use Image.picture.savetofile? That won't constrict you to jpeg (which is TERRIBLE format for screenshots), but will allow to save to any format Delphi/Lazarus (dunno which one you're using) supports, which includes PNG.