Screenshot Capture

From FreeCAD Documentation
Revision as of 22:01, 23 March 2020 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

Std ViewScreenShot

Menu location
Tools → Save picture...
Workbenches
All
Default shortcut
None
Introduced in version
-
See also
...

Description

Rezumat

Această comandă deschide o fereastră de dialog pentru a salva conținutul curent la dosar. Se poate salva în diverse formate de imagine. În plus, puteți modifica ecranul folosind "Opțiuni" pentru a obține acces la mai mulți parametri.

Această comandă poate fi utilizată și ca fișier PNG sau JPEG pentru a salva informațiile MIBA împreună cu imaginea.

Usage

  1. There are several ways to invoke this command:

Result: A dialog will open requesting some parameters

Options

Formatele de imagine

FreeCAD utilizează tipurile de imagini încorporate QT și unele pluginuri QT în directorul bin/imageformats pentru a salva imagini. Știu cum puteți alege depinde de platforma dvs.

Casetă de dialog: Salvați imaginea

Mărimea Imaginii

Parametrii dimensiunii imaginii sunt setați la dimensiunea ecranului a vizualizării 3D active. Dar o puteți schimba la orice valoare doriți. Unele drivere OpenGL nu permit randări mai mari de 8000 de pixeli. Depinde de sistemul dvs.

Cu cele patru butoane puteți schimba aspectul la o anumită valoare.

Proprietăți imagine- Fundalul

Cu această casetă combo puteți alege fundalul imaginii pe care o faceți.

  • Current utilizați fundalul curent de vizualizare (așa cum este ales în preferințe)
  • White creează un fundal alb simplu (de exemplu, imprimări)
  • Black fundal negru simplu
  • Transparent creează un fundal transparent pe formatele de imagine care susțin transparența
Creation method

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.

To turn on multi-sampling (anti-aliasing), use the option Anti-Aliasing in the preferences.

Comentariu

Unele formate de imagine pot conține un comentariu de-a lungul imaginii. În cazul în care alegeți unul dintre aceste formate, puteți introduce un comentariu sau utilizați câmpul de cometnariu pentru informațiile MIBA.

Script

De asemenea, este posibil să salvați ecranul prin Python:

Gui.ActiveDocument.ActiveView.saveImage('C:/temp/test.png',1656,783,'Current')

Acest script creează o serie de fotografii de dimensiuni diferite și diferite puncte de vedere. Tipul camerei de fotografiat, adică modul ortografic sau modul perspectivă, pot fi, de asemenea, schimbate.

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)