|Tools → Save picture...|
|Představen ve verzi|
This command opens a dialog to save the current content of the 3D view to a file. It can save to various image formats. Additionally, you can change the aspect ratio and the resolution of the screen shot using the "Options" button to get access to more parameters.
This command can also use the image comment field of some image formats, like PNG or JPEG to save MIBA information along with the picture.
- There are several ways to invoke this command:
- Pressing the button in the toolbar
- Using the → Save picture... menu.
- via Python scripting
Result: A dialog will open requesting some parameters
FreeCAD uses the QT built-in image types and some QT plugins in the bin/imageformats directory to save pictures. So how many and what formats you can choose depends on your platform.
The image size parameters are set to the screen size of the active 3D view. But you can change it to any value you like. Some OpenGL drivers don't allow renderings greater then 8000 pixels. It depends on your system.
With the four buttons you can change the aspect to a certain value.
With this combo box you can choose the background of the picture you make.
- Current use the current view background (as chosen in the preferences)
- White creates a plain white background (for e.g. printings)
- Black plain black background
- Transparent creates a transparent background on image formats which support transparency
With this combo box you can set how the image data is collected (rendered):
- Framebuffer (custom): It uses the same technique as Framebuffer (as is). Additionally it allows to set custom sizes and the background.
- Framebuffer (as is): If multi-sampling anti-aliasing is off, it reads the image directly from the graphic renderer. If multi-sampling is on, it renders to a framebuffer and gets the image from there. (The key part of this method is Qt's QOpenGLFramebufferObject class.)
- Offscreen (new): This is the default method. It is a replacement/alternative for the Offscreen (old) rendering. Additionally it supports multi-sampling. (The most important classes are Qt's QOffscreenSurface and QOpenGLFramebufferObject.)
- Offscreen (old): It only uses functions from the library Coin3d. This method does not support multi-sampling, relies heavily on graphic driver and on many modern Linux systems it does not work. It is a real off-screen rendering method that doesn't require an OpenGL window.
Some image formats can embed a comment in to the picture. In case you choose one of this formats you can insert a comment or use the comment field for the MIBA information.
It's also possible to save the screen via python:
This script makes a series of pictures of different sizes and from different points of view. The type of the camera, i.e. orthographic or perspective can also be changed.
import Part,PartGui # loading test part Part.open("C:/Documents and Settings/jriegel/My Documents/Projects/FreeCAD/data/Blade.stp") OutDir = 'c:/temp/' # creating 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]]: Gui.ActiveDocument.ActiveView.saveImage(OutDir + "Blade_" + p +"_" + f + "_" + `x` + "_" + `y` + ".jpg",x,y,"White") Gui.ActiveDocument.ActiveView.saveImage(OutDir + "Blade_" + p +"_" + f + "_" + `x` + "_" + `y` + ".png",x,y,"Transparent") # close active document App.closeDocument(App.ActiveDocument.Name)