GuiCommand: Name: Std ViewScreenShot MenuLocation: Tools , Save image... Workbenches: All SeeAlso: Std_Print, Std_PrintPdf, Macro_Copy3DViewToClipboard, Macro_Screen_Wiki, Macro_Snip
Std ViewScreenShot
Description
The Std ViewScreenShot command opens a dialog box to create an image file, a screenshot, from the active 3D view.
![](https://raw.githubusercontent.com/FreeCAD/FreeCAD-documentation/master/wiki/images/Save_picture.png)
Usage
- Select the Tools →
Save image... option from the menu.
- The Save image dialog box opens.
- Optionally press the Extended button to reveal an additional panel in the dialog box. For more information see Options.
- Optionally browse to the correct folder.
- Enter a filename and select the file type.
- Press the Save button to create the image file and close the dialog box.
Options
Image dimensions
- Select a standard size from the Standard sizes dropdown list. Or specify the Width and Height for a custom size.
- Optionally press an Aspect ratio button to set the width-to-height ratio of the image. If the Width input box has the focus the height of the image will change and vice versa.
Image properties
-
Select an option from the Background dropdown list:
{{Value|Current}} This option uses the background of the 3D view.
-
{{Value|White}}
-
{{Value|Black}}
-
{{Value|Transparent}}
Not all image formats support transparency.
-
-
Select an option from the Creation method dropdown list:
{{Value|Offscreen (New)}} This is the default method. This method supports [anti-aliasing](https://en.wikipedia.org/wiki/Multisample_anti-aliasing). *Technical information: The most important classes for this method are Qt\'s QOffscreenSurface and QOpenGLFramebufferObject.*
-
{{Value|Offscreen (Old)}}
This method does not work on many modern Linux systems as it relies on the graphics driver. This method does not support anti-aliasing. Technical information: This is a real off-screen rendering method that only uses functions from the Coin3d library.
-
{{Value|Framebuffer (custom)}}
This method supports anti-aliasing. Technical information: If anti-aliasing is off, this method reads the image directly from the graphics renderer, else it renders to a framebuffer and gets the image from there. The key part of this method is Qt\'s QOpenGLFramebufferObject class.
-
{{Value|Framebuffer (as is)}}
This method uses the same techniques as Framebuffer (custom). It also supports anti-aliasing but has some limitations related to custom sizes and always uses the current background of the 3D view.
-
Image comment
- Select the Insert MIBA option to add MIBA information to the file. Not all image formats support this.
- Or select the Insert comment option and type a comment in the text field to embed a comment in the file. Not all image formats support this.
- Check the Add watermark checkbox to add a watermark. The watermark is placed in the lower left corner of the image and consists of the FreeCAD logo and name above the main FreeCAD URL: www.freecadweb.org.
Notes
- The number of available image file formats may vary depending on your OS.
- Some OpenGL drivers don\'t allow renderings above a certain maximum size.
Preferences
See also: Preferences Editor.
- The 3D view background can be changed in the preferences: Edit → Preferences... → Display → Colors → Background color.
- To change the 3D view anti-aliasing: Edit → Preferences... → Display → 3D view → Rendering → Anti-Aliasing.
Scripting
See also: Autogenerated API documentation and FreeCAD Scripting Basics.
It is possible to create screenshots with Python code.
Gui.ActiveDocument.ActiveView.saveImage("D:/temp/test.png", 1656, 783, "Current")
This script saves a series of screenshots of different sizes and from different directions. The camera type, orthographic or perspective, is also changed.
import FreeCADGui as Gui
import Part
out_dir = "D:/temp/"
name = "Blade"
view = Gui.ActiveDocument.ActiveView
# Create images with different Views, Cameras and sizes
for p in ["PerspectiveCamera", "OrthographicCamera"]:
Gui.SendMsgToActiveView(p)
for f in ["ViewAxo", "ViewFront", "ViewTop"]:
Gui.SendMsgToActiveView(f)
for x, y in [[500, 500], [1000, 3000], [3000, 1000], [3000, 3000], [8000, 8000]]:
view.saveImage(out_dir + name + "_" + p + "_" + f + "_" + str(x) + "_" + str(y) + ".jpg", x, y, "White")
view.saveImage(out_dir + name + "_" + p + "_" + f + "_" + str(x) + "_" + str(y) + ".png", x, y, "Transparent")
# Close active document
App.closeDocument(App.ActiveDocument.Name)
⏵ documentation index > Std ViewScreenShot
This page is retrieved from https://github.com/FreeCAD/FreeCAD-documentation/blob/main/wiki/Std_ViewScreenShot.md