ImageData

ImageData class

Definisce un’immagine per una forma.

Per saperne di più, visita ilLavorare con le immagini articolo di documentazione.

public class ImageData

Proprietà

NomeDescrizione
BiLevel { get; set; }Determina se un’immagine verrà visualizzata in bianco e nero.
Borders { get; }Ottiene la raccolta dei bordi dell’immagine. I bordi hanno effetto solo per le immagini in linea.
Brightness { get; set; }Ottiene o imposta la luminosità dell’immagine. Il valore di questa proprietà deve essere un numero compreso tra 0,0 (più scuro) e 1,0 (più luminoso).
ChromaKey { get; set; }Definisce il valore del colore dell’immagine che verrà trattata come trasparente.
Contrast { get; set; }Ottiene o imposta il contrasto per l’immagine specificata. Il valore per questa proprietà deve essere un numero compreso tra 0,0 (il contrasto minimo) e 1,0 (il contrasto maggiore).
CropBottom { get; set; }Definisce la frazione di rimozione dell’immagine dal lato inferiore.
CropLeft { get; set; }Definisce la frazione di rimozione dell’immagine dal lato sinistro.
CropRight { get; set; }Definisce la frazione di rimozione dell’immagine dal lato destro.
CropTop { get; set; }Definisce la frazione di rimozione dell’immagine dal lato superiore.
GrayScale { get; set; }Determina se un’immagine verrà visualizzata in modalità scala di grigi.
HasImage { get; }RestituisceVERO se la forma ha byte di immagine o collega un’immagine.
ImageBytes { get; set; }Ottiene o imposta i byte grezzi dell’immagine archiviata nella forma.
ImageSize { get; }Ottiene informazioni sulla dimensione e sulla risoluzione dell’immagine.
ImageType { get; }Ottiene il tipo di immagine.
IsLink { get; }RestituisceVERO se l’immagine è collegata alla forma (whenSourceFullName è specificato).
IsLinkOnly { get; }RestituisceVERO se l’immagine è collegata e non memorizzata nel documento.
SourceFullName { get; set; }Ottiene o imposta il percorso e il nome del file di origine per l’immagine collegata.
Title { get; set; }Definisce il titolo di un’immagine.

Metodi

NomeDescrizione
Save(Stream)Salva l’immagine nello stream specificato.
Save(string)Salva l’immagine in un file.
SetImage(Image)Imposta l’immagine visualizzata dalla forma.
SetImage(Stream)Imposta l’immagine visualizzata dalla forma.
SetImage(string)Imposta l’immagine visualizzata dalla forma.
ToByteArray()Restituisce byte immagine per qualsiasi immagine indipendentemente dal fatto che l’immagine sia archiviata o collegata.
ToImage()Ottiene l’immagine memorizzata nella forma come aImage oggetto.
ToStream()Crea e restituisce uno stream che contiene i byte dell’immagine.

Osservazioni

Usa ilImageData proprietà per accedere e modificare l’immagine all’interno di una forma. Non crei istanze diImageData classe direttamente.

Un’immagine può essere archiviata all’interno di una forma, collegata a un file esterno o entrambi (collegati e archiviati nel documento).

Indipendentemente dal fatto che l’immagine sia archiviata all’interno della forma o collegata, puoi sempre accedere all’immagine aware utilizzando il comandoToByteArray ,ToStream ,ToImage OSave metodi. Se l’immagine è archiviata all’interno della forma, puoi anche accedervi direttamente utilizzando il fileImageBytes proprietà.

Per memorizzare un’immagine all’interno di una forma utilizzare il comandoSetImage metodo. Per collegare un’immagine a una forma, impostare il fileSourceFullName proprietà.

Esempi

Mostra come estrarre immagini da un documento e salvarle nel file system locale come singoli file.

Document doc = new Document(MyDir + "Images.docx");

// Ottieni la raccolta di forme dal documento,
// e salva i dati dell'immagine di ogni forma con un'immagine come file nel file system locale.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);

Assert.AreEqual(9, shapes.Count(s => ((Shape)s).HasImage));

int imageIndex = 0;
foreach (Shape shape in shapes.OfType<Shape>())
{
    if (shape.HasImage)
    {
         // I dati immagine delle forme possono contenere immagini di molti possibili formati immagine.
        // Possiamo determinare automaticamente un'estensione di file per ciascuna immagine, in base al suo formato.
        string imageFileName =
            $"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
        shape.ImageData.Save(ArtifactsDir + imageFileName);
        imageIndex++;
    }
}

Mostra come inserire un’immagine collegata in un documento.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

string imageFileName = ImageDir + "Windows MetaFile.wmf";

// Di seguito sono riportati due modi per applicare un'immagine a una forma in modo che possa visualizzarla.
// 1 - Imposta la forma per contenere l'immagine.
Shape shape = new Shape(builder.Document, ShapeType.Image);
shape.WrapType = WrapType.Inline;
shape.ImageData.SetImage(imageFileName);

builder.InsertNode(shape);

doc.Save(ArtifactsDir + "Image.CreateLinkedImage.Embedded.docx");

// Ogni immagine che memorizziamo in forma aumenterà la dimensione del nostro documento.
Assert.True(70000 < new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Embedded.docx").Length);

doc.FirstSection.Body.FirstParagraph.RemoveAllChildren();

// 2 - Imposta la forma per collegarsi a un file immagine nel file system locale.
shape = new Shape(builder.Document, ShapeType.Image);
shape.WrapType = WrapType.Inline;
shape.ImageData.SourceFullName = imageFileName;

builder.InsertNode(shape);
doc.Save(ArtifactsDir + "Image.CreateLinkedImage.Linked.docx");

// Il collegamento alle immagini farà risparmiare spazio e risulterà in un documento più piccolo.
// Tuttavia, il documento può visualizzare correttamente l'immagine solo mentre
// il file immagine è presente nella posizione a cui punta la proprietà "SourceFullName" della forma.
Assert.True(10000 > new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Linked.docx").Length);

Guarda anche