如何使用Axis-Aligned剪裁矩形进行剪裁

本主题介绍如何使用轴对齐的剪裁矩形剪裁图像。 此方法仅生成矩形剪辑,因为内容边界与矩形的轴对齐。 此方法比使用具有内容边界的层更有效。 有关详细信息,请参阅层概述

使用轴对齐的剪裁矩形进行剪裁

  1. 从资源加载原始图像。 有关如何加载位图的信息,请参阅 如何从资源加载位图

  2. 调用 ID2D1RenderTarget::P ushAxisAlignedClip 以指定矩形。 呈现命令被剪裁到矩形中。

  3. 绘制原始图像。

  4. 调用 ID2D1RenderTarget::P opAxisAlignedClip 从呈现目标中删除最后一个轴对齐的剪辑。

例如,在下图中,左侧的原始位图为 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();

Direct2D 参考