TiffFrame

Inheritance: java.lang.Object, com.aspose.imaging.DisposableObject, com.aspose.imaging.DataStreamSupporter, com.aspose.imaging.Image, com.aspose.imaging.RasterImage, com.aspose.imaging.RasterCachedImage

public final class TiffFrame extends RasterCachedImage

Il frame TIFF.

Costruttori

CostruttoreDescrizione
TiffFrame(InputStream stream)Inizializza una nuova istanza della classe TiffFrame.
TiffFrame(InputStream stream, TiffOptions options)Inizializza una nuova istanza della classe TiffFrame.
TiffFrame(String path)Inizializza una nuova istanza della classe TiffFrame.
TiffFrame(String path, TiffOptions options)Inizializza una nuova istanza della classe TiffFrame.
TiffFrame(RasterImage image)Inizializza una nuova istanza della classe TiffFrame.
TiffFrame(RasterImage image, TiffOptions options)Inizializza una nuova istanza della classe TiffFrame.
TiffFrame(TiffOptions options, int width, int height)Inizializza una nuova istanza della classe TiffFrame.

Metodi

MetodoDescrizione
getBackgroundColor()Ottiene un valore per il colore di sfondo.
setBackgroundColor(Color value)Imposta un valore per il colore di sfondo.
hasAlpha()Ottiene un valore che indica se questa istanza ha alfa.
getBitsPerPixel()Restituisce il conteggio dei bit per pixel dell’immagine.
getFrameOptions()Ottiene le opzioni di creazione del frame.
getHeight()Restituisce l’altezza dell’immagine.
getWidth()Restituisce la larghezza dell’immagine.
getHorizontalResolution()Ottiene la risoluzione orizzontale, in pixel per pollice, di questo RasterImage.
setHorizontalResolution(double value)Imposta la risoluzione orizzontale, in pixel per pollice, di questo RasterImage.
getVerticalResolution()Ottiene la risoluzione verticale, in pixel per pollice, di questo RasterImage.
setVerticalResolution(double value)Imposta la risoluzione verticale, in pixel per pollice, di questo RasterImage.
getPathResources()Ottiene le risorse del percorso.
setPathResources(List value)Imposta le risorse del percorso.
removeMetadata()Rimuove i metadati di questa istanza immagine impostando IHasXmpData.XmpData (IHasXmpData.getXmpData/IHasXmpData.setXmpData(XmpPacketWrapper)) e IHasExifData.ExifData(IHasExifData.getExifData/IHasExifData.setExifData(ExifData) IHasExifData.setExifData) a null.
getOriginalOptions()Ottiene le opzioni basate sulle impostazioni del file originale.
alignResolutions()Metodo di supporto per rendere uguali le risoluzioni orizzontale e verticale.
copyFrame(TiffFrame tiffFrame)Copia l’intero frame (duplicati).
createFrameFrom(TiffFrame tiffFrame, TiffOptions options)Crea il frame dal tiffFrame specificato utilizzando le options specificate.
resize(int newWidth, int newHeight, int resizeType)Ridimensiona l’immagine.
rotateFlip(int rotateFlipType)Ruota, capovolge o ruota e capovolge l’immagine.
rotate(float angle, boolean resizeProportionally, Color backgroundColor)Ruota l’immagine attorno al centro.
crop(Rectangle rectangle)Ritaglia l’immagine.

Example: This example shows how to create a TIFF image from scratch and save it to a file.

String dir = "c:\\temp\\";

com.aspose.imaging.imageoptions.TiffOptions createOptions =
        new com.aspose.imaging.imageoptions.TiffOptions(com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat.Default);

// Imposta 8 bit per ogni componente colore.
createOptions.setBitsPerSample(new int[]{8, 8, 8});

// Imposta l'ordine dei byte Big Endian (Motorola)
createOptions.setByteOrder(com.aspose.imaging.fileformats.tiff.enums.TiffByteOrder.BigEndian);

// Imposta la compressione LZW.
createOptions.setCompression(com.aspose.imaging.fileformats.tiff.enums.TiffCompressions.Lzw);

// Imposta il modello di colore RGB.
createOptions.setPhotometric(com.aspose.imaging.fileformats.tiff.enums.TiffPhotometrics.Rgb);

// Tutti i componenti colore saranno memorizzati in un unico piano.
createOptions.setPlanarConfiguration(com.aspose.imaging.fileformats.tiff.enums.TiffPlanarConfigs.Contiguous);

// Crea un frame TIFF di 100x100 px.
// Nota che non è necessario eliminare esplicitamente un frame se è incluso in TiffImage.
// Quando il contenitore viene eliminato, tutti i frame verranno eliminati automaticamente.
com.aspose.imaging.fileformats.tiff.TiffFrame firstFrame = new com.aspose.imaging.fileformats.tiff.TiffFrame(createOptions, 100, 100);

// Riempie l'intero frame con il gradiente blu-giallo.
com.aspose.imaging.brushes.LinearGradientBrush gradientBrush = new com.aspose.imaging.brushes.LinearGradientBrush(
        new com.aspose.imaging.Point(0, 0),
        new com.aspose.imaging.Point(firstFrame.getWidth(), firstFrame.getHeight()),
        com.aspose.imaging.Color.getBlue(),
        com.aspose.imaging.Color.getYellow());

com.aspose.imaging.Graphics graphics = new com.aspose.imaging.Graphics(firstFrame);
graphics.fillRectangle(gradientBrush, firstFrame.getBounds());

// Crea un'immagine TIFF.
com.aspose.imaging.fileformats.tiff.TiffImage tiffImage = new com.aspose.imaging.fileformats.tiff.TiffImage(firstFrame);
try {
    tiffImage.save(dir + "output.tif");
} finally {
    tiffImage.dispose();
}

TiffFrame(InputStream stream)

public TiffFrame(InputStream stream)

Inizializza una nuova istanza della classe TiffFrame.

Parameters:

ParametroTipoDescrizione
flussojava.io.InputStreamIl flusso da cui caricare un’immagine e con cui inizializzare i dati dei pixel e della tavolozza del fotogramma.

TiffFrame(InputStream stream, TiffOptions options)

public TiffFrame(InputStream stream, TiffOptions options)

Inizializza una nuova istanza della classe TiffFrame.

Parameters:

ParametroTipoDescrizione
flussojava.io.InputStreamIl flusso da cui caricare un’immagine e con cui inizializzare i dati dei pixel e della tavolozza del fotogramma.
optionsTiffOptionsLe opzioni da utilizzare per il fotogramma appena creato.

TiffFrame(String path)

public TiffFrame(String path)

Inizializza una nuova istanza della classe TiffFrame.

Parameters:

ParametroTipoDescrizione
percorsojava.lang.StringIl percorso da cui caricare un’immagine e con cui inizializzare i dati dei pixel e della tavolozza del fotogramma.

TiffFrame(String path, TiffOptions options)

public TiffFrame(String path, TiffOptions options)

Inizializza una nuova istanza della classe TiffFrame.

Parameters:

ParametroTipoDescrizione
percorsojava.lang.StringIl percorso da cui caricare un’immagine e con cui inizializzare i dati dei pixel e della tavolozza del fotogramma.
optionsTiffOptionsLe opzioni da utilizzare per il fotogramma appena creato.

TiffFrame(RasterImage image)

public TiffFrame(RasterImage image)

Inizializza una nuova istanza della classe TiffFrame.

Parameters:

ParametroTipoDescrizione
imageRasterImageL’immagine con cui inizializzare i dati dei pixel e della tavolozza del fotogramma.

TiffFrame(RasterImage image, TiffOptions options)

public TiffFrame(RasterImage image, TiffOptions options)

Inizializza una nuova istanza della classe TiffFrame.

Parameters:

ParametroTipoDescrizione
imageRasterImageL’immagine con cui inizializzare i dati dei pixel e della tavolozza del fotogramma.
optionsTiffOptionsLe opzioni da utilizzare per il fotogramma appena creato.

TiffFrame(TiffOptions options, int width, int height)

public TiffFrame(TiffOptions options, int width, int height)

Inizializza una nuova istanza della classe TiffFrame.

Parameters:

ParametroTipoDescrizione
optionsTiffOptionsLe opzioni del fotogramma.
widthintLa larghezza.
heightintL’altezza.

getBackgroundColor()

public Color getBackgroundColor()

Ottiene un valore per il colore di sfondo.

Returns: Color

setBackgroundColor(Color value)

public void setBackgroundColor(Color value)

Imposta un valore per il colore di sfondo.

Parameters:

ParametroTipoDescrizione
valueColor

hasAlpha()

public boolean hasAlpha()

Ottiene un valore che indica se questa istanza ha alfa.

Returns: boolean - true se questa istanza ha alfa; altrimenti, false.

Example: The following example loads a TIFF image and prints information about raw data format and alpha channel.

String dir = "c:\\temp\\";

String fileName = dir + "sample.tif";
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(fileName);
try {
    com.aspose.imaging.fileformats.tiff.TiffImage tiffImage = (com.aspose.imaging.fileformats.tiff.TiffImage) image;

    // Se il frame TIFF attivo ha un canale alfa, allora l'intera immagine TIFF è considerata dotata di canale alfa.
    System.out.printf("ImageFile=%s, FileFormat=%s, HasAlpha=%s\r\n", fileName, tiffImage.getRawDataFormat(), tiffImage.hasAlpha());

    int i = 0;
    for (com.aspose.imaging.fileformats.tiff.TiffFrame frame : tiffImage.getFrames()) {
        System.out.printf("Frame=%s, FileFormat=%s, HasAlpha=%s\r\n", ++i, frame.getRawDataFormat(), frame.hasAlpha());
    }
} finally {
    image.dispose();
}

// L'output potrebbe apparire così:
// ImageFile=c:\\temp\\sample.tif, FileFormat=RgbIndexed1Bpp, used channels: 1, HasAlpha=False
// Frame=1, FileFormat=RgbIndexed1Bpp, used channels: 1, HasAlpha=False
// Frame=2, FileFormat=RgbIndexed1Bpp, used channels: 1, HasAlpha=False

getBitsPerPixel()

public int getBitsPerPixel()

Restituisce il conteggio dei bit per pixel dell’immagine.

Returns: int - Il conteggio dei bit per pixel dell’immagine.

getFrameOptions()

public TiffOptions getFrameOptions()

Ottiene le opzioni di creazione del frame.

Returns: TiffOptions

getHeight()

public int getHeight()

Restituisce l’altezza dell’immagine.

Returns: int - L’altezza dell’immagine.

getWidth()

public int getWidth()

Restituisce la larghezza dell’immagine.

Returns: int - La larghezza dell’immagine.

getHorizontalResolution()

public double getHorizontalResolution()

Ottiene la risoluzione orizzontale, in pixel per pollice, di questo RasterImage.

Returns: double - La risoluzione orizzontale.

Example: The following example shows how to set horizontal/vertical resolution of a separate TIFF frame.

String dir = "c:\\temp\\";

// Carica un'immagine TIFF da un file.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.tif");
try {
    com.aspose.imaging.fileformats.tiff.TiffImage tiffImage = (com.aspose.imaging.fileformats.tiff.TiffImage) image;

    int i = 0;
    for (com.aspose.imaging.fileformats.tiff.TiffFrame frame : tiffImage.getFrames()) {
        // Ottieni la risoluzione orizzontale e verticale del TiffFrame.
        double horizontalResolution = frame.getHorizontalResolution();
        double verticalResolution = frame.getVerticalResolution();
        System.out.printf("The horizontal resolution of frame %s, pixels per inch: %s\r\n", i, horizontalResolution);
        System.out.printf("The vertical resolution, of frame %s, pixels per inch: %s\r\n", i, verticalResolution);

        if (horizontalResolution != 96.0 || verticalResolution != 96.0) {
            // Usa il metodo SetResolution per aggiornare entrambi i valori di risoluzione in una singola chiamata.
            System.out.println("Set resolution values to 96 dpi");
            frame.setResolution(96.0, 96.0);

            System.out.printf("The horizontal resolution of frame %s, pixels per inch: %s\r\n", i, horizontalResolution);
            System.out.printf("The vertical resolution, of frame %s, pixels per inch: %s\r\n", i, verticalResolution);
        }

        ++i;
    }
} finally {
    image.dispose();
}

setHorizontalResolution(double value)

public void setHorizontalResolution(double value)

Imposta la risoluzione orizzontale, in pixel per pollice, di questo RasterImage.

Parameters:

ParametroTipoDescrizione
valoredoubleLa risoluzione orizzontale.

getVerticalResolution()

public double getVerticalResolution()

Ottiene la risoluzione verticale, in pixel per pollice, di questo RasterImage.

Returns: double - La risoluzione verticale.

Example: The following example shows how to set horizontal/vertical resolution of a separate TIFF frame.

String dir = "c:\\temp\\";

// Carica un'immagine TIFF da un file.
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.tif");
try {
    com.aspose.imaging.fileformats.tiff.TiffImage tiffImage = (com.aspose.imaging.fileformats.tiff.TiffImage) image;

    int i = 0;
    for (com.aspose.imaging.fileformats.tiff.TiffFrame frame : tiffImage.getFrames()) {
        // Ottieni la risoluzione orizzontale e verticale del TiffFrame.
        double horizontalResolution = frame.getHorizontalResolution();
        double verticalResolution = frame.getVerticalResolution();
        System.out.printf("The horizontal resolution of frame %s, pixels per inch: %s\r\n", i, horizontalResolution);
        System.out.printf("The vertical resolution, of frame %s, pixels per inch: %s\r\n", i, verticalResolution);

        if (horizontalResolution != 96.0 || verticalResolution != 96.0) {
            // Usa il metodo SetResolution per aggiornare entrambi i valori di risoluzione in una singola chiamata.
            System.out.println("Set resolution values to 96 dpi");
            frame.setResolution(96.0, 96.0);

            System.out.printf("The horizontal resolution of frame %s, pixels per inch: %s\r\n", i, horizontalResolution);
            System.out.printf("The vertical resolution, of frame %s, pixels per inch: %s\r\n", i, verticalResolution);
        }

        ++i;
    }
} finally {
    image.dispose();
}

setVerticalResolution(double value)

public void setVerticalResolution(double value)

Imposta la risoluzione verticale, in pixel per pollice, di questo RasterImage.

Parameters:

ParametroTipoDescrizione
valoredoubleLa risoluzione verticale.

getPathResources()

public List<PathResource> getPathResources()

Ottiene le risorse del percorso.

Valore: le risorse del percorso.

Returns: java.util.List<com.aspose.imaging.fileformats.tiff.pathresources.PathResource> - le risorse del percorso.

Example: The following example shows how to retrieve paths from TIFF image and display their names in the console.

try (TiffImage image = (TiffImage) Image.load("Sample.tif"))
{
    for (PathResource path : image.getActiveFrame().getPathResources())
    {
        System.out.println(path.getName());
    }
}

Example: The following example shows how to modify already existing Clipping Paths. Il seguente esempio mostra come modificare i Clipping Path già esistenti. Ad esempio, è possibile mantenere un solo Clipping Path nell’immagine.

try (TiffImage image = (TiffImage) Image.load("Sample.tif"))
{
    List<PathResource> paths = image.getActiveFrame().getPathResources();
    image.getActiveFrame().setPathResources(Collections.singletonList(paths.get(0)));
    image.save();
}

Example: Transfer Clipping Paths during export from TIFF to PSD image.

try (Image image = Image.load("Sample.tif"))
{
    image.save("SampleWithPaths.psd", new PsdOptions());
}

Example: Create Clipping Path manually.

static void main()
{
    try (TiffImage image = (TiffImage)Image.load("Sample.tif"))
    {
        PathResource res = new PathResource();
        res.setBlockId((short) 2000);                                                  // Block Id according to Photoshop specification
        res.setName("My Clipping Path");                                               // Path name
        res.setRecords(createRecords(0.2f, 0.2f, 0.8f, 0.2f, 0.8f, 0.8f, 0.2f, 0.8f)); // Create path records using coordinates
                    
        image.getActiveFrame().setPathResources(Collections.singletonList(res));

        image.save("ImageWithPath.tif");
    }
}

private static List<VectorPathRecord> createRecords(float ... coordinates)
{
    List<VectorPathRecord>  records = createBezierRecords(coordinates);                                  // Create Bezier records using coordinates

    LengthRecord lr = new LengthRecord(); // LengthRecord required by Photoshop specification
    lr.setOpen(false);                    // Lets create closed path
    lr.setRecordCount(records.size());    // Record count in the path
                
    records.add(0, lr);

    return records;
}

private static List<VectorPathRecord> createBezierRecords(float[] coordinates)
{
    List<VectorPathRecord> l = new LinkedList<VectorPathRecord>();
                
    for (int index = 0; index < coordinates.length - 1; index += 2)
    {
        PointF pt = new PointF(coordinates[index], coordinates[index + 1]);
        BezierKnotRecord br = new BezierKnotRecord();
        br.setPathPoints(new PointF[] {pt, pt, pt});
        l.add(br);
    }
                    
    return l;
}

setPathResources(List value)

public void setPathResources(List<PathResource> value)

Imposta le risorse del percorso.

Valore: le risorse del percorso.

Parameters:

ParametroTipoDescrizione
valorejava.util.List<com.aspose.imaging.fileformats.tiff.pathresources.PathResource>le risorse del percorso.

removeMetadata()

public void removeMetadata()

Rimuove i metadati di questa istanza immagine impostando IHasXmpData.XmpData (IHasXmpData.getXmpData/IHasXmpData.setXmpData(XmpPacketWrapper)) e IHasExifData.ExifData(IHasExifData.getExifData/IHasExifData.setExifData(ExifData) IHasExifData.setExifData) a null.

getOriginalOptions()

public ImageOptionsBase getOriginalOptions()

Ottiene le opzioni in base alle impostazioni del file originale. Questo può essere utile per mantenere inalterata la profondità di colore e altri parametri dell’immagine originale. Ad esempio, se carichiamo un’immagine PNG in bianco e nero a 1 bit per pixel e poi la salviamo usando il metodo DataStreamSupporter.save(String), verrà prodotta un’immagine PNG di output a 8 bit per pixel. Per evitarlo e salvare l’immagine PNG a 1 bit per pixel, utilizza questo metodo per ottenere le opzioni di salvataggio corrispondenti e passale al metodo Image.save(String, ImageOptionsBase) come secondo parametro.

Returns: ImageOptionsBase - The options based on the original file settings.

alignResolutions()

public void alignResolutions()

Metodo di supporto per rendere uguali le risoluzioni orizzontale e verticale.

copyFrame(TiffFrame tiffFrame)

public static TiffFrame copyFrame(TiffFrame tiffFrame)

Copia l’intero frame (duplicati).

Parameters:

ParametroTipoDescrizione
tiffFrameTiffFrameIl fotogramma TIFF da copiare.

Returns: TiffFrame - The newly copied tiff frame.

createFrameFrom(TiffFrame tiffFrame, TiffOptions options)

public static TiffFrame createFrameFrom(TiffFrame tiffFrame, TiffOptions options)

Crea il fotogramma dal tiffFrame specificato utilizzando le options specificate. I dati dei pixel sono preservati ma convertiti nel formato desiderato.

Parameters:

ParametroTipoDescrizione
tiffFrameTiffFrameIl fotogramma TIFF da cui creare.
optionsTiffOptionsLe nuove opzioni da utilizzare.

Returns: TiffFrame - The newly created frame.

Example: The following example shows how to create a grayscale copy of an existing frame and add it to a TIFF image.

String dir = "c:\\temp\\";

com.aspose.imaging.imageoptions.TiffOptions createTiffOptions
        = new com.aspose.imaging.imageoptions.TiffOptions(com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat.Default);

// Crea una sorgente file permanente, non temporanea.
createTiffOptions.setSource(new com.aspose.imaging.sources.FileCreateSource(dir + "multipage.tif", false));
createTiffOptions.setPhotometric(com.aspose.imaging.fileformats.tiff.enums.TiffPhotometrics.Rgb);
createTiffOptions.setBitsPerSample(new int[]{8, 8, 8});

com.aspose.imaging.fileformats.tiff.TiffImage tiffImage = (com.aspose.imaging.fileformats.tiff.TiffImage) com.aspose.imaging.Image.create(createTiffOptions, 100, 100);
try {
    // Il gradiente lineare dall'angolo in alto a sinistra a quello in basso a destra dell'immagine.
    com.aspose.imaging.brushes.LinearGradientBrush brush =
            new com.aspose.imaging.brushes.LinearGradientBrush(
                    new com.aspose.imaging.Point(0, 0),
                    new com.aspose.imaging.Point(tiffImage.getWidth(), tiffImage.getHeight()),
                    com.aspose.imaging.Color.getRed(),
                    com.aspose.imaging.Color.getGreen());

    // Riempie il fotogramma attivo con un pennello a gradiente lineare.
    com.aspose.imaging.Graphics gr = new com.aspose.imaging.Graphics(tiffImage.getActiveFrame());
    gr.fillRectangle(brush, tiffImage.getBounds());

    // Opzioni in scala di grigi
    com.aspose.imaging.imageoptions.TiffOptions createTiffFrameOptions
            = new com.aspose.imaging.imageoptions.TiffOptions(com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat.Default);
    createTiffFrameOptions.setSource(new com.aspose.imaging.sources.StreamSource(new java.io.ByteArrayInputStream(new byte[0])));
    createTiffFrameOptions.setPhotometric(com.aspose.imaging.fileformats.tiff.enums.TiffPhotometrics.MinIsBlack);
    createTiffFrameOptions.setBitsPerSample(new int[]{8});

    // Crea una copia in scala di grigi del fotogramma attivo.
    // I dati dei pixel sono preservati ma convertiti nel formato desiderato.
    com.aspose.imaging.fileformats.tiff.TiffFrame grayscaleFrame
            = com.aspose.imaging.fileformats.tiff.TiffFrame.createFrameFrom(tiffImage.getActiveFrame(), createTiffFrameOptions);

    // Aggiungi il fotogramma appena creato all'immagine TIFF.
    tiffImage.addFrame(grayscaleFrame);

    tiffImage.save();
} finally {
    tiffImage.dispose();
}

resize(int newWidth, int newHeight, int resizeType)

public void resize(int newWidth, int newHeight, int resizeType)

Ridimensiona l’immagine.

Parameters:

ParametroTipoDescrizione
newWidthintLa nuova larghezza.
newHeightintLa nuova altezza.
resizeTypeintIl tipo di ridimensionamento.

rotateFlip(int rotateFlipType)

public void rotateFlip(int rotateFlipType)

Ruota, capovolge o ruota e capovolge l’immagine.

Parameters:

ParametroTipoDescrizione
rotateFlipTypeintIl tipo di rotazione e ribaltamento.

rotate(float angle, boolean resizeProportionally, Color backgroundColor)

public void rotate(float angle, boolean resizeProportionally, Color backgroundColor)

Ruota l’immagine attorno al centro.

Parameters:

ParametroTipoDescrizione
anglefloatL’angolo di rotazione in gradi. I valori positivi ruoteranno in senso orario.
resizeProportionallybooleanse impostato su true le dimensioni dell’immagine verranno modificate in base alle proiezioni del rettangolo ruotato (punti d’angolo); altrimenti le dimensioni rimarranno inalterate e solo il contenuto interno dell’immagine verrà ruotato.
backgroundColorColorColore dello sfondo.

crop(Rectangle rectangle)

public void crop(Rectangle rectangle)

Ritaglia l’immagine.

Parameters:

ParametroTipoDescrizione
rectangleRectangleIl rettangolo.