Aspose::Words::Drawing::ImageSize класс

ImageSize class

Содержит информацию о размере изображения и разрешении. Чтобы узнать больше, посетите статью документации Working with Images .

class ImageSize : public System::Object

Методы

МетодОписание
get_HeightPixels() constПолучает высоту изображения в пикселях.
get_HeightPoints()Получает высоту изображения в пунктах. 1 пункт = 1/72 дюйма.
get_HorizontalResolution() constПолучает горизонтальное разрешение в DPI.
get_VerticalResolution() constПолучает вертикальное разрешение в DPI.
get_WidthPixels() constПолучает ширину изображения в пикселях.
get_WidthPoints()Получает ширину изображения в пунктах. 1 пункт = 1/72 дюйма.
GetType() const override
ImageSize(int32_t, int32_t)Инициализирует ширину и высоту заданными значениями в пикселях. Инициализирует разрешение до 96 dpi.
ImageSize(int32_t, int32_t, double, double)Инициализирует ширину, высоту и разрешение заданными значениями.
Is(const System::TypeInfo&) const override
static Type()

Примеры

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

// Когда мы вставляем изображение, используя метод "InsertImage", построитель масштабирует фигуру, отображающую изображение, так что,
// когда мы просматриваем документ с масштабом 100 % в Microsoft Word, фигура отображает изображение в его реальном размере.
auto doc = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>(doc);
System::SharedPtr<Aspose::Words::Drawing::Shape> shape = builder->InsertImage(get_ImageDir() + u"Logo.jpg");

// Изображение 400×400 создаст объект ImageData с размером изображения 300×300 pt.
System::SharedPtr<Aspose::Words::Drawing::ImageSize> imageSize = shape->get_ImageData()->get_ImageSize();

ASPOSE_ASSERT_EQ(300.0, imageSize->get_WidthPoints());
ASPOSE_ASSERT_EQ(300.0, imageSize->get_HeightPoints());

// Если размеры фигуры соответствуют размерам данных изображения,
// то фигура отображает изображение в его оригинальном размере.
ASPOSE_ASSERT_EQ(300.0, shape->get_Width());
ASPOSE_ASSERT_EQ(300.0, shape->get_Height());

// Уменьшите общий размер фигуры на 50 %.
System::WithLambda::setter_mul_wrap(GETTER_SETTER_LAMBDA_ARGS(shape, Width), 0.5);

// Коэффициенты масштабирования применяются одновременно к ширине и высоте, чтобы сохранить пропорции фигуры.
ASPOSE_ASSERT_EQ(150.0, shape->get_Width());
ASPOSE_ASSERT_EQ(150.0, shape->get_Height());

// Когда мы изменяем размер фигуры, размер данных изображения остаётся прежним.
ASPOSE_ASSERT_EQ(300.0, imageSize->get_WidthPoints());
ASPOSE_ASSERT_EQ(300.0, imageSize->get_HeightPoints());

// Мы можем использовать размеры данных изображения для применения масштабирования, основанного на размере изображения.
shape->set_Width(imageSize->get_WidthPoints() * 1.1);

ASPOSE_ASSERT_EQ(330.0, shape->get_Width());
ASPOSE_ASSERT_EQ(330.0, shape->get_Height());

doc->Save(get_ArtifactsDir() + u"Image.ScaleImage.docx");

См. также