如何使用矩形剪辑Axis-Aligned矩形

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

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

  1. 从资源加载原始映像。 若要了解如何加载位图,请参阅 如何从资源 加载位图

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

  3. 画图原始映像。

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

例如,在下图中,左侧的原始位图为 200 * 130 像素。 右侧位图是剪裁到轴对齐剪辑矩形的原始位图。 维数 (20,20) 到 (100,100) 。

剪切位图之前和之后 goldfish 位图的插图

若要创建剪切的图像,请创建一个矩形结构作为剪辑区域。 使用 剪辑区域调用 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 参考