Strumenti: Salva immagine

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

Cattura Schermata

Posizione nel menu
Strumenti → Salva immagine...
Ambiente
Completo
Avvio veloce
Nessuno
Introdotto nella versione
-
Vedere anche
...

Descrizione

Questo comando apre una finestra di dialogo per salvare il contenuto corrente della vista 3D in un file. Permette di salvare in vari formati immagine. Inoltre, è possibile modificare le proporzioni e la risoluzione della schermata utilizzando il pulsante "Opzioni" per avere accesso a più parametri.

Questo comando può utilizzare il campo di commento di alcuni formati di immagine, come JPEG o PNG per salvare le informazioni MIBA (en) MIBA (it) insieme all'immagine.

Usage

  1. There are several ways to invoke this command:

Result: A dialog will open requesting some parameters

Options

Formati di immagine

FreeCAD utilizza i tipi di immagine di QT interno e alcuni plugin di QT nella directory bin/imageformates per salvare le immagini. Tra quanti e quali formati si può scegliere dipende dalla piattaforma su cui si opera.

Dimensione dell'immagine

I parametri dimensionali dell'immagine sono impostati alle dimensioni dello schermo della vista 3D attiva.

Si può modificare a piacere qualsiasi valore. Alcuni driver OpenGL non consentono un rendering maggiore di 8000 pixel. Dipende dal sistema su cui si lavora.

Con i quattro pulsanti è possibile impostare l'aspetto al valore desiderato.

Immagine di fondo

Con questa casella a discesa si può scegliere lo sfondo dell'immagine da produrre.

  • Corrente utilizza il fondo di visualizzazione corrente (come ipostato nelle preferenze)
  • Bianco crea un semplice sfondo bianco (ad esempio per stampe)
  • Nero sfondo nero
  • Trasparente crea uno sfondo trasparente nei formati di immagini che supportano la trasparenza
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.

Commenti

Alcuni formati di immagine sono in grado di allegare un commento all'immagine. Nel caso in cui si sceglie uno di questi formati è possibile inserire un commento o utilizzare il campo di commento per le informazioni MIBA (en) MIBA (it).

Script

È anche possibile salvare la schermata tramite script Python:

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

Questo script produce una serie di immagini di diverse dimensioni e da diversi punti di vista. Può anche essere modificato il tipo di camera, ossia ortogonale o prospettiva .

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)