Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе описывается, как обрезать изображение с прямоугольником обрезки, выровненным по осям. Этот подход создает только прямоугольные клипы, так как границы содержимого выровнены по оси прямоугольника. Этот подход более эффективен, чем использование слоев с границами содержимого. Дополнительные сведения см. в разделе "Обзор слоев".
Обрезка с использованием прямоугольника, выровненного по осям
Загрузите исходный образ из ресурса. Сведения о загрузке растрового изображения см. в разделе "Загрузка растрового изображения" из ресурса.
Вызовите ID2D1RenderTarget::PushAxisAlignedClip, чтобы указать прямоугольник. Команды отрисовки обрезаются до прямоугольника.
Нарисуйте исходное изображение.
Вызовите ID2D1RenderTarget::PopAxisAlignedClip, чтобы удалить последний ось-выравненный клип из цели отрисовки.
Например, на следующем рисунке исходный растровый рисунок слева составляет 200*130 пикселей. Растровое изображение справа — это исходное растровое изображение, обрезанное прямоугольником, выровненным по осям. Измерения : (20, 20) до (100, 100).
Чтобы создать обрезанное изображение, создайте прямоугольную структуру в качестве области вырезки. Вызовите PushAxisAlignedClip с областью отсечения и затем нарисуйте исходное изображение. Вызовите PopAxisAlignedClip , чтобы удалить клип из целевого объекта отрисовки. В следующем примере кода показано, как это сделать:
pRT->PushAxisAlignedClip(
D2D1::RectF(20, 20, 100, 100),
D2D1_ANTIALIAS_MODE_PER_PRIMITIVE
);
pRT->FillRectangle(D2D1::RectF(0, 0, 200, 133), m_pOriginalBitmapBrush);
pRT->PopAxisAlignedClip();