def saveRotateScreenshots(p3dapp, basename, N, W, H): min_angle = 0.0 max_angle = 2.0 * pi incr_angle = (max_angle-min_angle) / N for i in range(N): cur_angle = min_angle + incr_angle * i setCameraAngle(cur_angle) cur_angle += incr_angle p3dapp.taskMgr.step() pilimage = getScreenshot(p3dapp) pilimage.thumbnail((W,H), Image.ANTIALIAS) pilimage.save("%s.%d.png" % (basename, i), optimize=1)
def saveRotateScreenshots(p3dapp, basename, N, W, H): min_angle = 0.0 max_angle = 2.0 * pi incr_angle = (max_angle - min_angle) / N for i in range(N): cur_angle = min_angle + incr_angle * i setCameraAngle(cur_angle) cur_angle += incr_angle p3dapp.taskMgr.step() pilimage = getScreenshot(p3dapp) pilimage.thumbnail((W, H), Image.ANTIALIAS) pilimage.save("%s.%d.png" % (basename, i), optimize=1)
def get_screenshot(dae_data, subfile_map): from meshtool.filters.panda_filters import pandacore from meshtool.filters.panda_filters import save_screenshot def customImageLoader(filename): return subfile_map[posixpath.basename(filename)] mesh = collada.Collada(StringIO(dae_data), aux_file_loader=customImageLoader) p3dApp = pandacore.setupPandaApp(mesh) im = pandacore.getScreenshot(p3dApp) im.load() if 'A' in list(im.getbands()): bbox = im.split()[list(im.getbands()).index('A')].getbbox() im = im.crop(bbox) main_screenshot = StringIO() im.save(main_screenshot, "PNG", optimize=1) main_screenshot = main_screenshot.getvalue() return main_screenshot
def saveScreenshot(p3dapp, filename): pilimage = getScreenshot(p3dapp) pilimage.save(filename, optimize=1)
def takeScreenshot(tempdir, base, geomPath, texim, angle): numTriangles = getNumTriangles(geomPath) ss_string = '%d_%d_%d_%d.png' % (numTriangles, texim.getXSize(), texim.getYSize(), angle) pilimage = getScreenshot(base) pilimage.save(os.path.join(tempdir, ss_string))
def takeScreenshot(tempdir, base, geomPath, texim, angle): numTriangles = getNumTriangles(geomPath) ss_string = '%d_%d_%d_%d.png' % (numTriangles, texim.getXSize(), texim.getYSize(), angle) pilimage = getScreenshot(base) pilimage.save(os.path.join(tempdir, ss_string))
def saveScreenshot(p3dapp, filename): pilimage = getScreenshot(p3dapp) pilimage.save(filename, optimize=1)