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);
Смотрите также
- пространство имен Aspose.Words.Drawing
- сборка Aspose.Words