ImageData

ImageData class

Définit une image pour une forme.

Pour en savoir plus, visitez leTravailler avec des images article documentaire.

public class ImageData

Propriétés

NomLa description
BiLevel { get; set; }Détermine si une image sera affichée en noir et blanc.
Borders { get; }Obtient la collection de bordures de l’image. Les bordures n’ont d’effet que sur les images en ligne.
Brightness { get; set; }Obtient ou définit la luminosité de l’image. La valeur de cette propriété doit être un nombre compris entre 0,0 (le plus sombre) et 1,0 (le plus lumineux).
ChromaKey { get; set; }Définit la valeur de couleur de l’image qui sera traitée comme transparente.
Contrast { get; set; }Obtient ou définit le contraste de l’image spécifiée. La valeur pour cette propriété doit être un nombre compris entre 0,0 (le moindre contraste) et 1,0 (le plus grand contraste).
CropBottom { get; set; }Définit la fraction de suppression de l’image du côté inférieur.
CropLeft { get; set; }Définit la fraction de suppression de l’image du côté gauche.
CropRight { get; set; }Définit la fraction de suppression de l’image du côté droit.
CropTop { get; set; }Définit la fraction de suppression de l’image du côté supérieur.
GrayScale { get; set; }Détermine si une image s’affichera en mode niveaux de gris.
HasImage { get; }Retoursvrai si la forme contient des octets d’image ou lie une image.
ImageBytes { get; set; }Obtient ou définit les octets bruts de l’image stockée dans la forme.
ImageSize { get; }Obtient les informations sur la taille et la résolution de l’image.
ImageType { get; }Obtient le type de l’image.
IsLink { get; }Retoursvrai si l’image est liée à la forme (quandSourceFullName est spécifié).
IsLinkOnly { get; }Retoursvrai si l’image est liée et non stockée dans le document.
SourceFullName { get; set; }Obtient ou définit le chemin et le nom du fichier source de l’image liée.
Title { get; set; }Définit le titre d’une image.

Méthodes

NomLa description
Save(Stream)Enregistre l’image dans le flux spécifié.
Save(string)Enregistre l’image dans un fichier.
SetImage(Image)Définit l’image affichée par la forme.
SetImage(Stream)Définit l’image affichée par la forme.
SetImage(string)Définit l’image affichée par la forme.
ToByteArray()Renvoie les octets d’image pour n’importe quelle image, que l’image soit stockée ou liée.
ToImage()Obtient l’image stockée dans la forme en tant queImage objet.
ToStream()Crée et renvoie un flux contenant les octets de l’image.

Remarques

Utilisez leImageData propriété pour accéder et modifier l’image à l’intérieur d’une forme. Vous ne créez pas d’instances de laImageData classe directement.

Une image peut être stockée dans une forme, liée à un fichier externe ou les deux (liée et stockée dans le document).

Que l’image soit stockée à l’intérieur de la forme ou liée, vous pouvez toujours accéder à l’image actual à l’aide duToByteArray ,ToStream ,ToImage ouSave méthodes. Si l’image est stockée à l’intérieur de la forme, vous pouvez également y accéder directement à l’aide duImageBytes propriété.

Pour stocker une image dans une forme, utilisez leSetImage méthode. Pour lier une image à une forme, définissez leSourceFullName propriété.

Exemples

Montre comment extraire des images d’un document et les enregistrer sur le système de fichiers local en tant que fichiers individuels.

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

// Récupère la collection de formes du document,
// et enregistrez les données d'image de chaque forme avec une image sous forme de fichier dans le système de fichiers local.
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)
    {
         // Les données d'image des formes peuvent contenir des images de nombreux formats d'image possibles.
        // Nous pouvons déterminer automatiquement une extension de fichier pour chaque image, en fonction de son format.
        string imageFileName =
            $"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
        shape.ImageData.Save(ArtifactsDir + imageFileName);
        imageIndex++;
    }
}

Montre comment insérer une image liée dans un document.

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

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

// Vous trouverez ci-dessous deux manières d'appliquer une image à une forme afin qu'elle puisse l'afficher.
// 1 - Définit la forme pour contenir l'image.
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");

// Chaque image que nous stockons dans shape augmentera la taille de notre document.
Assert.True(70000 < new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Embedded.docx").Length);

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

// 2 - Définissez la forme pour qu'elle soit liée à un fichier image dans le système de fichiers local.
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");

// La création de liens vers des images permettra d'économiser de l'espace et d'obtenir un document plus petit.
// Cependant, le document ne peut afficher correctement l'image que lorsque
// le fichier image est présent à l'emplacement vers lequel pointe la propriété "SourceFullName" de la forme.
Assert.True(10000 > new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Linked.docx").Length);

Voir également