ImageData

ImageData class

Definierar en bild för en form.

För att lära dig mer, besökArbeta med bilder dokumentationsartikel.

public class ImageData

Egenskaper

namnBeskrivning
BiLevel { get; set; }Avgör om en bild ska visas i svartvitt.
Borders { get; }Hämtar en samling av bildens ramar. Ramar har endast effekt för inbäddade bilder.
Brightness { get; set; }Hämtar eller ställer in bildens ljusstyrka. Värdet för den här egenskapen måste vara ett tal från 0,0 (svagast) till 1,0 (ljusast).
ChromaKey { get; set; }Definierar färgvärdet för bilden som ska behandlas som transparent.
Contrast { get; set; }Hämtar eller ställer in kontrasten för den angivna bilden. Värdet för den här egenskapen måste vara ett tal från 0,0 (minsta kontrast) till 1,0 (största kontrast).
CropBottom { get; set; }Definierar andelen av bilden som ska tas bort från undersidan.
CropLeft { get; set; }Definierar andelen bildborttagning från vänster sida.
CropRight { get; set; }Definierar andelen bildborttagning från höger sida.
CropTop { get; set; }Definierar andelen bildborttagning från ovansidan.
GrayScale { get; set; }Avgör om en bild ska visas i gråskaleläge.
HasImage { get; }Returersann om formen har bildbyte eller länkar en bild.
ImageBytes { get; set; }Hämtar eller ställer in råbyte för bilden som lagras i formen.
ImageSize { get; }Hämtar information om bildstorlek och upplösning.
ImageType { get; }Hämtar bildens typ.
IsLink { get; }Returersann om bilden är länkad till formen (närSourceFullName är specificerad).
IsLinkOnly { get; }Returersann om bilden är länkad och inte lagrad i dokumentet.
SourceFullName { get; set; }Hämtar eller anger sökvägen och namnet på källfilen för den länkade bilden.
Title { get; set; }Definierar titeln på en bild.

Metoder

namnBeskrivning
FitImageToShape()Anpassar bilddata till formramen så att bilddatans bildförhållande matchar formramens bildförhållande.
Save(Stream)Sparar bilden i den angivna strömmen.
Save(string)Sparar bilden i en fil.
SetImage(Image)Anger bilden som formen visar.
SetImage(Stream)Anger bilden som formen visar.
SetImage(string)Anger bilden som formen visar.
ToByteArray()Returnerar bildbyte för alla bilder oavsett om bilden är lagrad eller länkad.
ToImage()Hämtar bilden lagrad i formen som enImage objekt.
ToStream()Skapar och returnerar en ström som innehåller bildens byte.

Anmärkningar

AnvändImageDataegenskapen för att komma åt och ändra bilden inuti en form. Du skapar inte instanser avImageData klass direkt.

En bild kan lagras inuti en form, länkas till en extern fil eller båda (länkas och lagras i dokumentet).

Oavsett om bilden är lagrad inuti formen eller länkad, kan du alltid komma åt actual -bilden med hjälp avToByteArray ,ToStream ,ToImage ellerSave methods. Om bilden är lagrad inuti formen kan du också komma åt den direkt med hjälp avImageBytes egendom.

För att lagra en bild inuti en form, användSetImage metod. För att länka en bild till en form, ställ inSourceFullName egendom.

Exempel

Visar hur man extraherar bilder från ett dokument och sparar dem i det lokala filsystemet som enskilda filer.

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

// Hämta samlingen av former från dokumentet,
// och spara bilddata för varje form med en bild som en fil till det lokala filsystemet.
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)
    {
         // Bilddata för former kan innehålla bilder i många möjliga bildformat.
        // Vi kan automatiskt bestämma filändelsen för varje bild, baserat på dess format.
        string imageFileName =
            $"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
        shape.ImageData.Save(ArtifactsDir + imageFileName);
        imageIndex++;
    }
}

Visar hur man infogar en länkad bild i ett dokument.

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

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

// Nedan följer två sätt att tillämpa en bild på en form så att den kan visas.
// 1 - Ange formen så att den innehåller bilden.
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");

// Varje bild som vi lagrar i form kommer att öka storleken på vårt dokument.
Assert.True(70000 < new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Embedded.docx").Length);

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

// 2 - Ange formen för att länka till en bildfil i det lokala filsystemet.
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");

// Att länka till bilder sparar utrymme och resulterar i ett mindre dokument.
// Dokumentet kan dock bara visa bilden korrekt medan
// bildfilen finns på den plats som formens "SourceFullName"-egenskap pekar på.
Assert.True(10000 > new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Linked.docx").Length);

Se även