ImageData

ImageData class

Definiert ein Bild für eine Form.

Um mehr zu erfahren, besuchen Sie dieArbeiten mit Bildern Dokumentationsartikel.

public class ImageData

Eigenschaften

NameBeschreibung
BiLevel { get; set; }Legt fest, ob ein Bild in Schwarzweiß angezeigt wird.
Borders { get; }Ruft die Sammlung der Ränder des Bildes ab. Ränder wirken sich nur auf Inline-Bilder aus.
Brightness { get; set; }Ruft die Helligkeit des Bildes ab oder legt sie fest. Der Wert für diese Eigenschaft muss eine Zahl von 0,0 (am dunkelsten) bis 1,0 (am hellsten) sein.
ChromaKey { get; set; }Definiert den Farbwert des Bildes, der als transparent behandelt wird.
Contrast { get; set; }Ruft den Kontrast für das angegebene Bild ab oder legt diesen fest. Der Wert für diese Eigenschaft muss eine Zahl zwischen 0,0 (geringster Kontrast) und 1,0 (größter Kontrast) sein.
CropBottom { get; set; }Definiert den Anteil der Bildentfernung von der Unterseite.
CropLeft { get; set; }Definiert den Anteil der Bildentfernung von der linken Seite.
CropRight { get; set; }Definiert den Anteil der Bildentfernung von der rechten Seite.
CropTop { get; set; }Definiert den Anteil der Bildentfernung von der Oberseite.
GrayScale { get; set; }Legt fest, ob ein Bild im Graustufenmodus angezeigt wird.
HasImage { get; }Gibt zurückWAHR wenn die Form Bildbytes hat oder ein Bild verknüpft.
ImageBytes { get; set; }Ruft die Rohbytes des in der Form gespeicherten Bildes ab oder legt diese fest.
ImageSize { get; }Ruft Informationen zur Bildgröße und Auflösung ab.
ImageType { get; }Ruft den Typ des Bildes ab.
IsLink { get; }Gibt zurückWAHR wenn das Bild mit der Form verknüpft ist (wannSourceFullName angegeben ist).
IsLinkOnly { get; }Gibt zurückWAHR wenn das Bild verlinkt und nicht im Dokument gespeichert ist.
SourceFullName { get; set; }Ruft den Pfad und Namen der Quelldatei für das verknüpfte Bild ab oder legt diesen fest.
Title { get; set; }Definiert den Titel eines Bildes.

Methoden

NameBeschreibung
Save(Stream)Speichert das Bild im angegebenen Stream.
Save(string)Speichert das Bild in einer Datei.
SetImage(Image)Legt das Bild fest, das die Form anzeigt.
SetImage(Stream)Legt das Bild fest, das die Form anzeigt.
SetImage(string)Legt das Bild fest, das die Form anzeigt.
ToByteArray()Gibt Bildbytes für jedes Bild zurück, unabhängig davon, ob das Bild gespeichert oder verknüpft ist.
ToImage()Ruft das in der Form gespeicherte Bild als abImage Objekt.
ToStream()Erstellt einen Stream, der die Bildbytes enthält, und gibt ihn zurück.

Bemerkungen

Benutzen Sie dieImageData Eigenschaft, um auf das Bild innerhalb einer Form zuzugreifen und es zu ändern. Sie erstellen keine Instanzen davonImageData Klasse direkt.

Ein Bild kann in einer Form gespeichert, mit einer externen Datei verknüpft oder beides (verknüpft und im Dokument gespeichert) werden.

Unabhängig davon, ob das Bild innerhalb der Form gespeichert oder verknüpft ist, können Sie jederzeit über das auf das tatsächliche -Bild zugreifenToByteArray ,ToStream ,ToImage oderSave methoden. Wenn das Bild in der Form gespeichert ist, können Sie auch direkt über die darauf zugreifenImageBytes Eigentum.

Um ein Bild in einer Form zu speichern, verwenden Sie dieSetImage Methode. Um ein Bild mit einer Form zu verknüpfen, legen Sie festSourceFullName Eigentum.

Beispiele

Zeigt, wie man Bilder aus einem Dokument extrahiert und sie als einzelne Dateien im lokalen Dateisystem speichert.

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

// Holen Sie sich die Formensammlung aus dem Dokument,
// und die Bilddaten jeder Form mit einem Bild als Datei im lokalen Dateisystem speichern.
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)
    {
         // Die Bilddaten von Formen können Bilder in vielen möglichen Bildformaten enthalten.
        // Wir können für jedes Bild automatisch eine Dateierweiterung anhand seines Formats ermitteln.
        string imageFileName =
            $"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
        shape.ImageData.Save(ArtifactsDir + imageFileName);
        imageIndex++;
    }
}

Zeigt, wie ein verknüpftes Bild in ein Dokument eingefügt wird.

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

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

// Im Folgenden finden Sie zwei Möglichkeiten, ein Bild auf eine Form anzuwenden, damit diese angezeigt werden kann.
// 1 – Legen Sie die Form so fest, dass sie das Bild enthält.
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");

// Jedes Bild, das wir in Form speichern, vergrößert unser Dokument.
Assert.True(70000 < new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Embedded.docx").Length);

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

// 2 – Legen Sie die Form so fest, dass sie mit einer Bilddatei im lokalen Dateisystem verknüpft wird.
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");

// Das Verlinken mit Bildern spart Platz und führt zu einem kleineren Dokument.
// Allerdings kann das Dokument das Bild nur dann korrekt anzeigen, wenn
// Die Bilddatei ist an der Stelle vorhanden, auf die die „SourceFullName“-Eigenschaft der Form verweist.
Assert.True(10000 > new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Linked.docx").Length);

Siehe auch