CRenderTarget 类

ID2D1RenderTarget 的包装器。

语法

class CRenderTarget : public CObject;

成员

公共构造函数

名称 描述
CRenderTarget::CRenderTarget 构造 CRenderTarget 对象。
CRenderTarget::~CRenderTarget 析构函数。 在销毁呈现目标对象时调用。

公共方法

名称 描述
CRenderTarget::Attach 将现有呈现目标接口附加到对象
CRenderTarget::BeginDraw 启动对此呈现目标的绘图。
CRenderTarget::Clear 将绘图区域清除为指定的颜色。
CRenderTarget::COLORREF_TO_D2DCOLOR 将 GDI 颜色和 alpha 值转换为 D2D1_COLOR_F 对象。
CRenderTarget::CreateCompatibleRenderTarget 创建一个新的位图呈现目标,以便在与当前呈现目标兼容的中间离屏绘图过程中使用。
CRenderTarget::Destroy 删除一个或多个资源
CRenderTarget::Detach 从对象中拆离呈现目标接口
CRenderTarget::DrawBitmap 绘制指定的 IDWriteTextLayout 对象描述的格式化文本。
CRenderTarget::DrawEllipse 使用指定的笔划样式绘制指定椭圆的轮廓。
CRenderTarget::DrawGeometry 使用指定的笔划样式绘制指定几何图形的轮廓。
CRenderTarget::DrawGlyphRun 绘制指定的字形。
CRenderTarget::DrawLine 使用指定的笔划样式在两个指定的点之间绘制一条线。
CRenderTarget::DrawRectangle 绘制具有指定维度和笔划样式的矩形的轮廓。
CRenderTarget::DrawRoundedRectangle 使用指定的笔划样式绘制指定圆角矩形的轮廓。
CRenderTarget::DrawText 使用 IDWriteTextFormat 对象提供的格式信息绘制指定文本。
CRenderTarget::DrawTextLayout 绘制指定的 IDWriteTextLayout 对象描述的格式化文本。
CRenderTarget::EndDraw 结束对呈现目标的绘图操作,并指示当前错误状态和相关标记。
CRenderTarget::FillEllipse 绘制指定椭圆的内部。
CRenderTarget::FillGeometry 绘制指定几何图形的内部。
CRenderTarget::FillMesh 绘制指定网格的内部。
CRenderTarget::FillOpacityMask 将指定位图描述的不透明蒙版应用到画笔,并使用该画笔绘制呈现目标的区域。
CRenderTarget::FillRectangle 绘制指定矩形的内部。
CRenderTarget::FillRoundedRectangle 绘制指定圆角矩形的内部。
CRenderTarget::Flush 执行所有挂起的绘图命令。
CRenderTarget::GetAntialiasMode 检索非文本绘图操作的当前抗锯齿模式。
CRenderTarget::GetDpi 返回呈现目标的每英寸点数 (DPI)
CRenderTarget::GetMaximumBitmapSize 获取呈现目标支持的任一位图维度的最大大小,以设备相关单位(像素)表示
CRenderTarget::GetPixelFormat 检索呈现目标的像素格式和 alpha 模式
CRenderTarget::GetPixelSize 返回呈现目标的大小(以设备像素为单位)
CRenderTarget::GetRenderTarget 返回 ID2D1RenderTarget 接口
CRenderTarget::GetSize 返回呈现目标的大小(以设备无关像素为单位)
CRenderTarget::GetTags 获取后续绘图操作的标签。
CRenderTarget::GetTextAntialiasMode 获取文本和字形绘图操作的当前抗锯齿模式。
CRenderTarget::GetTextRenderingParams 检索呈现目标的当前文本呈现选项。
CRenderTarget::GetTransform 将指定的转换应用于呈现目标,替换现有转换。 所有后续的绘图操作都发生在转换后的空间中。
CRenderTarget::IsSupported 指示呈现目标是否支持指定的属性
CRenderTarget::IsValid 检查资源有效性
CRenderTarget::PopAxisAlignedClip 从呈现目标中移除最后一个轴对齐剪裁。 调用此方法后,剪裁不再应用于后续绘图操作。
CRenderTarget::PopLayer 停止将绘图操作重定向到最后一个 PushLayer 调用指定的层。
CRenderTarget::PushAxisAlignedClip 从呈现目标中移除最后一个轴对齐剪裁。 调用此方法后,剪裁不再应用于后续绘图操作。
CRenderTarget::PushLayer 将指定的层添加到呈现目标,以便在调用 PopLayer 之前接收所有后续绘图操作。
CRenderTarget::RestoreDrawingState 将呈现目标的绘图状态设置为指定的 ID2D1DrawingStateBlock 的状态。
CRenderTarget::SaveDrawingState 将当前绘图状态保存到指定的 ID2D1DrawingStateBlock。
CRenderTarget::SetAntialiasMode 设置呈现目标的抗锯齿模式。 抗锯齿模式应用于所有后续绘图操作,文本和字形绘图操作除外。
CRenderTarget::SetDpi 设置呈现目标的每英寸点数 (DPI)。
CRenderTarget::SetTags 指定后续绘图操作的标签。
CRenderTarget::SetTextAntialiasMode 指定用于后续文本和字形绘图操作的抗锯齿模式。
CRenderTarget::SetTextRenderingParams 指定要应用于所有后续文本和字形绘图操作的文本呈现选项。
CRenderTarget::SetTransform 已重载。 将指定的转换应用于呈现目标,替换现有转换。 所有后续的绘图操作都发生在转换后的空间中。

受保护方法

名称 描述
CRenderTarget::VerifyResource 验证 CD2DResource 对象的有效性;如果对象尚不存在,则创建该对象。

公共运算符

“属性” 描述
CRenderTarget::operator ID2D1RenderTarget* 返回 ID2D1RenderTarget 接口

受保护的数据成员

名称 描述
CRenderTarget::m_lstResources 指向 CD2DResource 对象的指针列表。
CRenderTarget::m_pRenderTarget 指向 ID2D1RenderTarget 对象的指针。
CRenderTarget::m_pTextFormatDefault 指向包含默认文本格式的 CD2DTextFormat 对象的指针。

继承层次结构

CObject

CRenderTarget

要求

标头:afxrendertarget.h

CRenderTarget::~CRenderTarget

析构函数。 在销毁呈现目标对象时调用。

virtual ~CRenderTarget();

CRenderTarget::Attach

将现有呈现目标接口附加到对象

void Attach(ID2D1RenderTarget* pRenderTarget);

参数

pRenderTarget
现有呈现目标接口。 不能为 NULL

CRenderTarget::BeginDraw

启动对此呈现目标的绘图。

void BeginDraw();

CRenderTarget::Clear

将绘图区域清除为指定的颜色。

void Clear(D2D1_COLOR_F color);

参数

color
将绘制区域清除到的颜色。

CRenderTarget::COLORREF_TO_D2DCOLOR

将 GDI 颜色和 alpha 值转换为 D2D1_COLOR_F 对象。

static D2D1_COLOR_F COLORREF_TO_D2DCOLOR(
    COLORREF color,
    int nAlpha = 255);

参数

color
RGB 值。

nAlpha

返回值

D2D1_COLOR_F 值。

CRenderTarget::CreateCompatibleRenderTarget

创建一个新的位图呈现目标,以便在与当前呈现目标兼容的中间离屏绘图过程中使用。

BOOL CreateCompatibleRenderTarget(
    CBitmapRenderTarget& bitmapTarget,
    CD2DSizeF sizeDesired = CD2DSizeF(0., 0.),
    CD2DSizeU sizePixelDesired = CD2DSizeU(0, 0),
    D2D1_PIXEL_FORMAT* desiredFormat = NULL,
    D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS options = D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE);

参数

bitmapTarget
此方法返回时,包含指向新位图呈现目标的指针的地址。 此参数在传递时尚未初始化。

sizeDesired
如果新的呈现目标与原始呈现目标不同,则为新呈现目标所需的大小(以设备无关像素为单位);否则为 NULL。 有关详细信息,请参阅“备注”部分。

sizePixelDesired
如果新的呈现目标与原始呈现目标不同,则为新呈现目标所需的大小(以像素为单位);否则为 NULL。 有关详细信息,请参阅“备注”部分。

desiredFormat
新呈现目标所需的像素格式和 alpha 模式,或者为 NULL。 如果像素格式设置为 DXGI_FORMAT_UNKNOWN 或此参数为 null,则新呈现目标使用与原始呈现目标相同的像素格式。 如果 alpha 模式为 D2D1_ALPHA_MODE_UNKNOWN 或此参数为 NULL,则新呈现目标的 alpha 模式默认为D2D1_ALPHA_MODE_PREMULTIPLIED。 若要了解支持的像素格式,请参阅“支持的像素格式和 Alpha 模式”。

options
指定新呈现目标是否必须与 GDI 兼容的值。

返回值

如果该方法成功,它会返回 TRUE。 否则,返回 FALSE。

CRenderTarget::CRenderTarget

构造 CRenderTarget 对象。

CRenderTarget();

CRenderTarget::Destroy

删除一个或多个资源

BOOL Destroy(BOOL bDeleteResources = TRUE);

参数

bDeleteResources
如果 bDeleteResources 为 TRUE,则自动销毁 m_lstResources 中的所有资源。

返回值

如果该方法成功,它会返回 TRUE。 否则,返回 FALSE

CRenderTarget::Detach

从对象中拆离呈现目标接口

ID2D1RenderTarget* Detach ();

返回值

指向拆离的呈现目标接口的指针。

CRenderTarget::DrawBitmap

绘制指定的 IDWriteTextLayout 对象描述的格式化文本。

void DrawBitmap(
    CD2DBitmap* pBitmap,
    const CD2DRectF& rectDest,
    float fOpacity = 1.0,
    D2D1_BITMAP_INTERPOLATION_MODE interpolationMode = D2D1_BITMAP_INTERPOLATION_MODE_LINEAR,
    const CD2DRectF* pRectSrc = NULL);

参数

pBitmap
要呈现的位图。

rectDest
绘制位图的区域在呈现目标的坐标空间中的大小和位置(以设备无关像素为单位)。 如果矩形排序不正确,则不会绘制任何内容,但呈现目标不会进入错误状态。

fOpacity
一个介于 0.0f 和 1.0f(含)之间的值,它指定应用于位图的不透明度值;该值与位图内容的 alpha 值相乘。

interpolationMode
绘图操作缩放或旋转位图时要使用的内插模式。

pRectSrc
要绘制的位图中的区域在位图坐标空间中的大小和位置(以设备无关像素为单位)。

CRenderTarget::DrawEllipse

使用指定的笔划样式绘制指定椭圆的轮廓。

void DrawEllipse(
    const CD2DEllipse& ellipse,
    CD2DBrush* pBrush,
    FLOAT fStrokeWidth = 1.0,
    ID2D1StrokeStyle* strokeStyle = NULL);

参数

ellipse
要绘制的椭圆的位置和半径(以设备无关像素为单位)。

pBrush
用于绘制椭圆轮廓的画笔。

fStrokeWidth
椭圆笔划的粗细。 笔划以椭圆轮廓为中心。

strokeStyle
要应用于椭圆轮廓的笔划样式;若要绘制实心笔划,则为 NULL。

CRenderTarget::DrawGeometry

使用指定的笔划样式绘制指定几何图形的轮廓。

void DrawGeometry(
    CD2DGeometry* pGeometry,
    CD2DBrush* pBrush,
    FLOAT fStrokeWidth = 1.0,
    ID2D1StrokeStyle* strokeStyle = NULL);

参数

pGeometry
要绘制的几何图形。

pBrush
用于绘制几何图形笔划的画笔。

fStrokeWidth
几何图形笔划的粗细。 笔划以几何图形轮廓为中心。

strokeStyle
要应用于几何图形轮廓的笔划样式;若要绘制实心笔划,则为 NULL。

CRenderTarget::DrawGlyphRun

绘制指定的字形。

void DrawGlyphRun(
    const CD2DPointF& ptBaseLineOrigin,
    const DWRITE_GLYPH_RUN& glyphRun,
    CD2DBrush* pForegroundBrush,
    DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL);

参数

ptBaseLineOrigin
字形基线的原点(以设备无关像素为单位)。

glyphRun
要呈现的字形。

pForegroundBrush
用于绘制指定字形的画笔。

measuringMode
一个值,该值指示在设置格式时如何使用字形指标来度量文本。 默认值为 DWRITE_MEASURING_MODE_NATURAL。

CRenderTarget::DrawLine

使用指定的笔划样式在两个指定的点之间绘制一条线。

void DrawLine(
    const CD2DPointF& ptFrom,
    const CD2DPointF& ptTo,
    CD2DBrush* pBrush,
    FLOAT fStrokeWidth = 1.0,
    ID2D1StrokeStyle* strokeStyle = NULL);

参数

ptFrom
线条的起点(以设备无关像素为单位)。

ptTo
线条的终点(以设备无关像素为单位)。

pBrush
用于绘制线条笔划的画笔。

fStrokeWidth
大于或等于 0.0f 的值,用于指定笔划的宽度。 如果未指定此参数,则默认为 1.0f。 笔划以线条为中心。

strokeStyle
要绘制的笔划样式;若要绘制实线,则为 NULL。

CRenderTarget::DrawRectangle

绘制具有指定维度和笔划样式的矩形的轮廓。

void DrawRectangle(
    const CD2DRectF& rectangle,
    CD2DBrush* pBrush,
    FLOAT fStrokeWidth = 1.0,
    ID2D1StrokeStyle* strokeStyle = NULL);

参数

rectangle
要绘制的矩形的维度(以设备无关像素为单位)

pBrush
用于绘制矩形笔划的画笔

fStrokeWidth
大于或等于 0.0f 的值,用于指定矩形笔划的宽度。 笔划以矩形轮廓为中心。

strokeStyle
要绘制的笔划样式;若要绘制实心笔划,则为 NULL。

CRenderTarget::DrawRoundedRectangle

使用指定的笔划样式绘制指定圆角矩形的轮廓。

void DrawRoundedRectangle(
    const CD2DRoundedRect& rectRounded,
    CD2DBrush* pBrush,
    FLOAT fStrokeWidth = 1.0,
    ID2D1StrokeStyle* strokeStyle = NULL);

参数

rectRounded
要绘制的圆角矩形的维度(以设备无关像素为单位)。

pBrush
用于绘制圆角矩形轮廓的画笔。

fStrokeWidth
圆角矩形笔划的宽度。 笔划以圆角矩形轮廓为中心。 默认值为 1.0f。

strokeStyle
圆角矩形笔划的样式;若要绘制实心笔划,则为 NULL。 默认值为 NULL。

CRenderTarget::DrawText

使用 IDWriteTextFormat 对象提供的格式信息绘制指定文本。

void DrawText(
    const CString& strText,
    const CD2DRectF& rectangle,
    CD2DBrush* pForegroundBrush,
    CD2DTextFormat* textFormat = NULL,
    D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE,
    DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL);

参数

strText
指向要绘制的 Unicode 字符数组的指针。

rectangle
在其中绘制文本的区域的大小和位置。

pForegroundBrush
用于绘制文本的画笔。

textFormat
一个对象,描述要绘制的文本的格式详细信息,例如字体、字号和流方向。

options
一个值,指示是否应将文本对齐到像素边界,以及是否应将文本剪裁到布局矩形。 默认值为 D2D1_DRAW_TEXT_OPTIONS_NONE,指示文本应对齐像素边界且不得将文本剪裁到布局矩形。

measuringMode
一个值,该值指示在设置格式时如何使用字形指标来度量文本。 默认值为 DWRITE_MEASURING_MODE_NATURAL。

CRenderTarget::DrawTextLayout

绘制指定的 IDWriteTextLayout 对象描述的格式化文本。

void DrawTextLayout(
    const CD2DPointF& ptOrigin,
    CD2DTextLayout* textLayout,
    CD2DBrush* pBrushForeground,
    D2D1_DRAW_TEXT_OPTIONS options = D2D1_DRAW_TEXT_OPTIONS_NONE);

参数

ptOrigin
用设备无关像素描述的点,其中绘制了 textLayout 描述的文本的左上角。

textLayout
要绘制的格式化文本。 会忽略不从 ID2D1Resource 继承的任何绘图效果。 如果有绘图效果从不是画笔的 ID2D1Resource 继承,则此方法将失败,并且呈现目标处于错误状态。

pBrushForeground
用于在 textLayout 中绘制任何文本的画笔,该文本尚未与画笔关联作为绘图效果(由 IDWriteTextLayout::SetDrawingEffect 方法指定)。

options
一个值,指示是否应将文本对齐到像素边界,以及是否应将文本剪裁到布局矩形。 默认值为 D2D1_DRAW_TEXT_OPTIONS_NONE,指示文本应对齐像素边界且不得将文本剪裁到布局矩形。

CRenderTarget::EndDraw

结束对呈现目标的绘图操作,并指示当前错误状态和相关标记。

HRESULT EndDraw();

返回值

如果该方法成功,则它会返回 S_OK。 否则,它将返回 HRESULT 错误代码。

CRenderTarget::FillEllipse

绘制指定椭圆的内部。

void FillEllipse(
    const CD2DEllipse& ellipse,
    CD2DBrush* pBrush);

参数

ellipse
要绘制的椭圆的位置和半径(以设备无关像素为单位)。

pBrush
用于绘制椭圆内部的画笔。

CRenderTarget::FillGeometry

绘制指定几何图形的内部。

void FillGeometry(
    CD2DGeometry* pGeometry,
    CD2DBrush* pBrush,
    CD2DBrush* pOpacityBrush = NULL);

参数

pGeometry
要绘制的几何图形。

pBrush
用于绘制几何图形内部的画笔。

pOpacityBrush
要应用于几何图形的不透明蒙板;如果没有不透明蒙板,则为 NULL。 如果指定不透明蒙版(opacityBrush 参数),则画笔必须为 ID2D1BitmapBrush,其 x 和 y 扩展模式设置为 D2D1_EXTEND_MODE_CLAMP。 有关详细信息,请参阅“备注”部分。

CRenderTarget::FillMesh

绘制指定网格的内部。

void FillMesh(
    CD2DMesh* pMesh,
    CD2DBrush* pBrush);

参数

pMesh
要绘制的网格。

pBrush
用于绘制网格的画笔。

CRenderTarget::FillOpacityMask

将指定位图描述的不透明蒙版应用到画笔,并使用该画笔绘制呈现目标的区域。

void FillOpacityMask(
    CD2DBitmap* pOpacityMask,
    CD2DBrush* pBrush,
    D2D1_OPACITY_MASK_CONTENT content,
    const CD2DRectF& rectDest,
    const CD2DRectF& rectSrc);

参数

pOpacityMask
要绘制的椭圆的位置和半径(以设备无关像素为单位)。

pBrush
用于绘制由 destinationRectangle 指定的呈现目标区域的画笔。

content
不透明蒙板包含的内容类型。 该值用于确定混合不透明蒙板的颜色空间。

rectDest
要绘制的呈现目标的区域(以设备无关像素为单位)。

rectSrc
要用作不透明蒙版的位图区域(以设备无关像素为单位)。

CRenderTarget::FillRectangle

绘制指定矩形的内部。

void FillRectangle(
    const CD2DRectF& rectangle,
    CD2DBrush* pBrush);

参数

rectangle
要绘制的矩形的维度(以设备无关像素为单位)。

pBrush
用于绘制矩形内部的画笔。

CRenderTarget::FillRoundedRectangle

绘制指定圆角矩形的内部。

void FillRoundedRectangle(
    const CD2DRoundedRect& rectRounded,
    CD2DBrush* pBrush);

参数

rectRounded
要绘制的圆角矩形的维度(以设备无关像素为单位)。

pBrush
用于绘制圆角矩形内部的画笔。

CRenderTarget::Flush

执行所有挂起的绘图命令。

void Flush(
    D2D1_TAG* tag1 = NULL,
    D2D1_TAG* tag2 = NULL);

参数

tag1
包含导致错误的绘图操作的标记;如果没有错误,则为 0。 此参数在传递时尚未初始化。

tag2
包含导致错误的绘图操作的标记;如果没有错误,则为 0。 此参数在传递时尚未初始化。

CRenderTarget::GetAntialiasMode

检索非文本绘图操作的当前抗锯齿模式。

D2D1_ANTIALIAS_MODE GetAntialiasMode() const;

返回值

非文本绘图操作的当前抗锯齿模式。

CRenderTarget::GetDpi

返回呈现目标的每英寸点数 (DPI)

CD2DSizeF GetDpi() const;

返回值

呈现目标的每英寸点数 (DPI)。

CRenderTarget::GetMaximumBitmapSize

获取呈现目标支持的任一位图维度的最大大小,以设备相关单位(像素)表示

UINT32 GetMaximumBitmapSize() const;

返回值

呈现目标支持的任一位图尺寸的最大大小(以像素为单位)

CRenderTarget::GetPixelFormat

检索呈现目标的像素格式和 alpha 模式

D2D1_PIXEL_FORMAT GetPixelFormat() const;

返回值

呈现目标的像素格式和 alpha 模式

CRenderTarget::GetPixelSize

返回呈现目标的大小(以设备像素为单位)

CD2DSizeU GetPixelSize() const;

返回值

呈现目标的大小(以设备像素为单位)

CRenderTarget::GetRenderTarget

返回 ID2D1RenderTarget 接口

ID2D1RenderTarget* GetRenderTarget();

返回值

指向 ID2D1RenderTarget 接口的指针;如果对象尚未初始化,则为 NULL。

CRenderTarget::GetSize

返回呈现目标的大小(以设备无关像素为单位)

CD2DSizeF GetSize() const;

返回值

呈现目标的当前大小(以设备无关像素为单位)

CRenderTarget::GetTags

获取后续绘图操作的标签。

void GetTags(
    D2D1_TAG* tag1 = NULL,
    D2D1_TAG* tag2 = NULL) const;

参数

tag1
包含后续绘图操作的第一个标签。 此参数在传递时尚未初始化。 如果指定 NULL,则不检索此参数的值。

tag2
包含后续绘图操作的第二个标签。 此参数在传递时尚未初始化。 如果指定 NULL,则不检索此参数的值。

CRenderTarget::GetTextAntialiasMode

获取文本和字形绘图操作的当前抗锯齿模式。

D2D1_TEXT_ANTIALIAS_MODE GetTextAntialiasMode() const;

返回值

文本和字形绘图操作的当前抗锯齿模式。

CRenderTarget::GetTextRenderingParams

检索呈现目标的当前文本呈现选项。

void GetTextRenderingParams(IDWriteRenderingParams** textRenderingParams);

参数

textRenderingParams
当此方法返回时,textRenderingParams 包含指向呈现目标当前文本呈现选项的指针的地址。

CRenderTarget::GetTransform

获取呈现目标的当前转换。

void GetTransform(D2D1_MATRIX_3X2_F* transform);

参数

transform
此方法返回时,包含呈现目标的当前转换。 此参数在传递时尚未初始化。

CRenderTarget::IsSupported

指示呈现目标是否支持指定的属性

BOOL IsSupported(const D2D1_RENDER_TARGET_PROPERTIES& renderTargetProperties) const;

参数

renderTargetProperties
要测试的呈现目标属性

返回值

如果此呈现目标支持指定的呈现目标属性,则为 TRUE;否则为 FALSE

CRenderTarget::IsValid

检查资源有效性

BOOL IsValid() const;

返回值

如果资源有效,则为 TRUE;否则为 FALSE。

CRenderTarget::m_lstResources

指向 CD2DResource 对象的指针列表。

CObList m_lstResources;

CRenderTarget::m_pRenderTarget

指向 ID2D1RenderTarget 对象的指针。

ID2D1RenderTarget* m_pRenderTarget;

CRenderTarget::m_pTextFormatDefault

指向包含默认文本格式的 CD2DTextFormat 对象的指针。

CD2DTextFormat* m_pTextFormatDefault;

CRenderTarget::operator ID2D1RenderTarget*

返回 ID2D1RenderTarget 接口

operator ID2D1RenderTarget*();

返回值

指向 ID2D1RenderTarget 接口的指针;如果对象尚未初始化,则为 NULL。

CRenderTarget::PopAxisAlignedClip

从呈现目标中移除最后一个轴对齐剪裁。 调用此方法后,剪裁不再应用于后续绘图操作。

void PopAxisAlignedClip();

CRenderTarget::PopLayer

停止将绘图操作重定向到最后一个 PushLayer 调用指定的层。

void PopLayer();

CRenderTarget::PushAxisAlignedClip

从呈现目标中移除最后一个轴对齐剪裁。 调用此方法后,剪裁不再应用于后续绘图操作。

void PushAxisAlignedClip(
    const CD2DRectF& rectClip,
    D2D1_ANTIALIAS_MODE mode = D2D1_ANTIALIAS_MODE_PER_PRIMITIVE);

参数

rectClip
剪裁区域的大小和位置(以设备无关像素为单位)。

mode
抗锯齿模式,用于绘制具有子像素边界的剪裁矩形的边缘,并将剪裁与场景内容混合。 调用 PopAxisAlignedClip 方法时执行一次混合,该混合并不适用于图层中的每个图元。

CRenderTarget::PushLayer

将指定的层添加到呈现目标,以便在调用 PopLayer 之前接收所有后续绘图操作。

void PushLayer(
    const D2D1_LAYER_PARAMETERS& layerParameters,
    CD2DLayer& layer);

参数

layerParameters
图层的内容边界、几何蒙版、不透明度、不透明蒙版和抗锯齿选项。

layer
接收后续绘图操作的图层。

CRenderTarget::RestoreDrawingState

将呈现目标的绘图状态设置为指定的 ID2D1DrawingStateBlock 的状态。

void RestoreDrawingState(ID2D1DrawingStateBlock& drawingStateBlock);

参数

drawingStateBlock
呈现目标的新绘图状态。

CRenderTarget::SaveDrawingState

将当前绘图状态保存到指定的 ID2D1DrawingStateBlock。

void SaveDrawingState(ID2D1DrawingStateBlock& drawingStateBlock) const;

参数

drawingStateBlock
此方法返回时,包含呈现目标的当前绘图状态。 必须先初始化此参数,然后再将其传递给方法。

CRenderTarget::SetAntialiasMode

设置呈现目标的抗锯齿模式。 抗锯齿模式应用于所有后续绘图操作,文本和字形绘图操作除外。

void SetAntialiasMode(D2D1_ANTIALIAS_MODE antialiasMode);

参数

antialiasMode
用于后续绘图操作的抗锯齿模式。

CRenderTarget::SetDpi

设置呈现目标的每英寸点数 (DPI)。

void SetDpi(const CD2DSizeF& sizeDPI);

参数

sizeDPI
一个大于或等于零的值,它指定呈现目标的水平/垂直 DPI。

CRenderTarget::SetTags

指定后续绘图操作的标签。

void SetTags(
    D2D1_TAG tag1,
    D2D1_TAG tag2);

参数

tag1
要应用于后续绘图操作的标签。

tag2
要应用于后续绘图操作的标签。

CRenderTarget::SetTextAntialiasMode

指定用于后续文本和字形绘图操作的抗锯齿模式。

void SetTextAntialiasMode(D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode);

参数

textAntialiasMode
用于后续文本和字形绘图操作的抗锯齿模式。

CRenderTarget::SetTextRenderingParams

指定要应用于所有后续文本和字形绘图操作的文本呈现选项。

void SetTextRenderingParams(IDWriteRenderingParams* textRenderingParams = NULL);

参数

textRenderingParams
要应用于所有后续文本和字形绘图操作的文本呈现选项;若要清除当前文本呈现选项,则为 NULL。

CRenderTarget::SetTransform

将指定的转换应用于呈现目标,替换现有转换。 所有后续的绘图操作都发生在转换后的空间中。

void SetTransform(const D2D1_MATRIX_3X2_F* transform);
void SetTransform(const D2D1_MATRIX_3X2_F& transform);

参数

transform
要应用于呈现目标的转换。

CRenderTarget::VerifyResource

验证 CD2DResource 对象的有效性;如果对象尚不存在,则创建该对象。

BOOL VerifyResource(CD2DResource* pResource);

参数

pResource
指向 CD2DResource 对象的指针。

返回值

如果对象有效,则为 TRUE;否则为 FALSE。

另请参阅