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; } | Определяет заголовок изображения. |
Методы
Имя | Описание |
---|---|
FitImageToShape() | Подгоняет данные изображения под фрейм Shape таким образом, чтобы соотношение сторон данных изображения соответствовало соотношению сторон фрейма Shape. |
Save(Stream) | Сохраняет изображение в указанный поток. |
Save(string) | Сохраняет изображение в файл. |
SetImage(Image) | Устанавливает изображение, которое отображает фигура. |
SetImage(Stream) | Устанавливает изображение, которое отображает фигура. |
SetImage(string) | Устанавливает изображение, которое отображает фигура. |
ToByteArray() | Возвращает байты изображения для любого изображения независимо от того, сохранено ли изображение или связано с ним. |
ToImage() | Получает изображение, сохраненное в форме какImage объект. |
ToStream() | Создает и возвращает поток, содержащий байты изображения. |
Примечания
ИспользуйтеImageData
свойство для доступа и изменения изображения внутри фигуры. Вы не создаете экземплярыImageData
класс напрямую.
Изображение может храниться внутри фигуры, быть связано с внешним файлом или иметь и то, и другое (связано и сохранено в документе).
Независимо от того, хранится ли изображение внутри фигуры или связано с ней, вы всегда можете получить доступ к изображению actual с помощьюToByteArray
,ToStream
,ToImage
илиSave
methods. Если изображение хранится внутри фигуры, вы также можете получить к нему прямой доступ с помощью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");
// Каждое изображение, которое мы сохраняем в форме, увеличит размер нашего документа.
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