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)
Пример #2
0
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)
Пример #3
0
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
Пример #4
0
def saveScreenshot(p3dapp, filename):
    pilimage = getScreenshot(p3dapp)
    pilimage.save(filename, optimize=1)
Пример #5
0
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))
Пример #7
0
def saveScreenshot(p3dapp, filename):
    pilimage = getScreenshot(p3dapp)
    pilimage.save(filename, optimize=1)