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
| Costruttore | Descrizione |
|---|---|
| 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
| Metodo | Descrizione |
|---|---|
| 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 | 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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| flusso | java.io.InputStream | Il 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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| flusso | java.io.InputStream | Il flusso da cui caricare un’immagine e con cui inizializzare i dati dei pixel e della tavolozza del fotogramma. |
| options | TiffOptions | Le opzioni da utilizzare per il fotogramma appena creato. |
TiffFrame(String path)
public TiffFrame(String path)
Inizializza una nuova istanza della classe TiffFrame.
Parameters:
| Parametro | Tipo | Descrizione |
|---|---|---|
| percorso | java.lang.String | Il 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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| percorso | java.lang.String | Il percorso da cui caricare un’immagine e con cui inizializzare i dati dei pixel e della tavolozza del fotogramma. |
| options | TiffOptions | Le opzioni da utilizzare per il fotogramma appena creato. |
TiffFrame(RasterImage image)
public TiffFrame(RasterImage image)
Inizializza una nuova istanza della classe TiffFrame.
Parameters:
| Parametro | Tipo | Descrizione |
|---|---|---|
| image | RasterImage | L’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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| image | RasterImage | L’immagine con cui inizializzare i dati dei pixel e della tavolozza del fotogramma. |
| options | TiffOptions | Le 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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| options | TiffOptions | Le opzioni del fotogramma. |
| width | int | La larghezza. |
| height | int | L’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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| value | Color |
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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| valore | double | La 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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| valore | double | La 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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| valore | java.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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| tiffFrame | TiffFrame | Il 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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| tiffFrame | TiffFrame | Il fotogramma TIFF da cui creare. |
| options | TiffOptions | Le 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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| newWidth | int | La nuova larghezza. |
| newHeight | int | La nuova altezza. |
| resizeType | int | Il tipo di ridimensionamento. |
rotateFlip(int rotateFlipType)
public void rotateFlip(int rotateFlipType)
Ruota, capovolge o ruota e capovolge l’immagine.
Parameters:
| Parametro | Tipo | Descrizione |
|---|---|---|
| rotateFlipType | int | Il 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:
| Parametro | Tipo | Descrizione |
|---|---|---|
| angle | float | L’angolo di rotazione in gradi. I valori positivi ruoteranno in senso orario. |
| resizeProportionally | boolean | se 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. |
| backgroundColor | Color | Colore dello sfondo. |
crop(Rectangle rectangle)
public void crop(Rectangle rectangle)
Ritaglia l’immagine.
Parameters:
| Parametro | Tipo | Descrizione |
|---|---|---|
| rectangle | Rectangle | Il rettangolo. |