Source code for pyrobotstructural.view.screenshot

import os
from typing import Any
from .save_screenshot import save_emf_as_png
from .._base import _BaseEditor
from .view import ViewManager


[docs] class ScreenshotManager(_BaseEditor): def __init__(self, raw_app: Any) -> None: super().__init__(raw_app) self._project = self._raw.Project
[docs] def save_screenshot(self, name: str, dir_path: str, view: Any = None) -> None: """ Takes a screenshot, stores it in clipboard and saves as .png under given path and name. Parameters ---------- name: str Name of the image. dir_path: str Path of the directory, where screenshot is to be saved. view: IRobotView View of which screenshot to be taken. """ if view is not None: current_view = view else: current_view = self._rbt.IRobotView3(self._project.ViewMngr.GetView(1)) screen_params = self._rbt.IRobotViewScreenCaptureParams( self._raw.CmpntFactory.Create( self._rbt.IRobotComponentType.I_CT_VIEW_SCREEN_CAPTURE_PARAMS ) ) # screen_params.name = 'Test' screen_params.UpdateType = ( self._rbt.IRobotViewScreenCaptureUpdateType.I_SCUT_COPY_TO_CLIPBOARD ) current_view.MakeScreenCapture(screen_params) output_path = os.path.join(dir_path, name + ".png") save_emf_as_png(output_path)