ImageData

ImageData class

Определяет изображение для фигуры.

Чтобы узнать больше, посетитеРабота с изображениями статья документации.

public class ImageData

Характеристики

ИмяОписание
BiLevel { get; set; }Определяет, будет ли изображение отображаться в черно-белом режиме.
Borders { get; }Получает коллекцию границ изображения. Границы действуют только для встроенных изображений.
Brightness { get; set; }Получает или задает яркость изображения. Значение этого свойства должно быть числом от 0,0 (самый тусклый) до 1,0 (самый яркий).
ChromaKey { get; set; }Определяет значение цвета изображения, которое будет считаться прозрачным.
Contrast { get; set; }Получает или задает контрастность указанного изображения. Значение для этого свойства должно быть числом от 0,0 (наименьший контраст) до 1,0 (наибольший контраст).
CropBottom { get; set; }Определяет долю удаления изображения с нижней стороны.
CropLeft { get; set; }Определяет долю удаления изображения с левой стороны.
CropRight { get; set; }Определяет долю удаления изображения с правой стороны.
CropTop { get; set; }Определяет долю удаления изображения с верхней стороны.
GrayScale { get; set; }Определяет, будет ли изображение отображаться в режиме оттенков серого.
HasImage { get; }Возвращаетистинный если фигура содержит байты изображения или связывает изображение.
ImageBytes { get; set; }Получает или задает необработанные байты изображения, хранящегося в форме.
ImageSize { get; }Получает информацию о размере и разрешении изображения.
ImageType { get; }Получает тип изображения.
IsLink { get; }Возвращаетистинный если изображение связано с фигурой (когдаSourceFullName указан).
IsLinkOnly { get; }Возвращаетистинный если изображение связано и не сохранено в документе.
SourceFullName { get; set; }Получает или задает путь и имя исходного файла связанного изображения.
Title { get; set; }Определяет заголовок изображения.

Методы

ИмяОписание
Save(Stream)Сохраняет изображение в указанный поток.
Save(string)Сохраняет изображение в файл.
SetImage(Image)Устанавливает изображение, отображаемое фигурой.
SetImage(Stream)Устанавливает изображение, отображаемое фигурой.
SetImage(string)Устанавливает изображение, отображаемое фигурой.
ToByteArray()Возвращает байты изображения для любого изображения независимо от того, сохранено оно или связано с ним.
ToImage()Получает изображение, хранящееся в фигуре в видеImage объект.
ToStream()Создает и возвращает поток, содержащий байты изображения.

Примечания

ИспользоватьImageData свойство для доступа и изменения изображения внутри фигуры. Вы не создаете экземплярыImageData класс напрямую.

Изображение может храниться внутри фигуры, быть связано с внешним файлом или и то, и другое (связано и сохранено в документе).

Независимо от того, хранится ли изображение внутри фигуры или связано с ним, вы всегда можете получить доступ к изображению fact , используя методToByteArray ,ToStream ,ToImage илиSave методы. Если изображение хранится внутри фигуры, вы также можете получить к нему прямой доступ с помощьюImageBytes свойство.

Чтобы сохранить изображение внутри фигуры, используйтеSetImage метод. Чтобы связать изображение с фигурой, установитеSourceFullName свойство.

Примеры

Показывает, как извлечь изображения из документа и сохранить их в локальной файловой системе как отдельные файлы.

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

// Получаем коллекцию фигур из документа,
// и сохраняем данные изображения каждой формы с изображением в виде файла в локальной файловой системе.
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)
    {
         // Данные изображений фигур могут содержать изображения многих возможных форматов изображений.
        // Мы можем автоматически определить расширение файла для каждого изображения в зависимости от его формата.
        string imageFileName =
            $"File.ExtractImages.{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
        shape.ImageData.Save(ArtifactsDir + imageFileName);
        imageIndex++;
    }
}

Показывает, как вставить связанное изображение в документ.

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

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

// Ниже приведены два способа применения изображения к фигуре для ее отображения.
// 1 — установить форму, в которой будет находиться изображение.
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");

// Каждое изображение, которое мы сохраняем в shape, увеличивает размер нашего документа.
Assert.True(70000 < new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Embedded.docx").Length);

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

// 2 — Установить форму для связи с файлом изображения в локальной файловой системе.
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");

// Ссылки на изображения сэкономят место и приведут к уменьшению размера документа.
// Однако документ может правильно отображать изображение только тогда, когда
// файл изображения находится в том месте, на которое указывает свойство SourceFullName фигуры.
Assert.True(10000 > new FileInfo(ArtifactsDir + "Image.CreateLinkedImage.Linked.docx").Length);

Смотрите также