Win32 API:PD2D1_PROPERTY_GET_FUNCTION 回调函数(D2d1effectauthor.h)
PD2D1_PROPERTY_GET_FUNCTION 是 Direct2D 中的一个宏,用于创建属性获取函数。这个宏在 D2d1effectauthor.h 头文件中定义。该宏的作用是定义一个用于获取 Direct2D 特效(effect)属性值的回调函数。这个回调函数通常由 Direct2D 特效的作者实现,并用于在运行时获取特效的属性值。这些属性值可以影响特效的外观和行为。下面是 PD2D1_PROPERTY_GET_FUNCTION 宏的简要定义:#define PD2D1_PROPERTY_GET_FUNCTION( functionName, propertyType )宏接受两个参数: functionName:用于定义回调函数的名称。 propertyType:属性的类型。使用这个宏的目的是简化属性获取函数的创建过程。具体而言,你可以在你的特效实现中使用这个宏定义一个函数,例如:PD2D1_PROPERTY_GET_FUNCTION(GetMyEffectProperty, FLOAT)上述宏的展开将创建一个名为 GetMyEffectProperty 的函数,该函数用...
Win32 API:GradientMeshPatch 函数(D2d1_3helper.h)
GradientMeshPatch 是 Direct2D 库中的一个函数,通常用于创建渐变网格。该函数在 D2d1_3helper.h 头文件中声明。渐变网格是一种用于实现复杂颜色渐变的技术,可以在图形渲染中实现更自然、复杂的色彩过渡效果。以下是 GradientMeshPatch 函数的简要定义:D2D1_GRADIENT_MESH_PATCH GradientMeshPatch( UINT point00, UINT point01, UINT point02, UINT point03, UINT point10, UINT point11, UINT point12, UINT point13, UINT point20, UINT point21, UINT point22, UINT point23, D2D1_COLOR_INTERPOLATION_MODE colorInterpolationMode );主要参数包括: point00 到 point23:定义渐变网格的 12 个控制点...
Win32 API:ID2D1TransformedImageSource 接口(D2d1_3.h)
ID2D1TransformedImageSource 接口是 Direct2D 库中的一部分,用于表示经过变换的图像源。这个接口允许你创建一种图像源,该图像源在渲染时可以通过设置变换矩阵来进行转换。以下是该接口的简要定义:interface ID2D1TransformedImageSource : public ID2D1ImageSource{ HRESULT STDMETHODCALLTYPE GetSource( _Outptr_ ID2D1ImageSource **imageSource) const; HRESULT STDMETHODCALLTYPE GetProperties( _Out_ D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *properties) const; HRESULT STDMETHODCALLTYPE GetSourceRect( _Out_ D2D1_RECT_U *sourceRect) const; HRESULT STDMETHODC...
Win32 API:ID2D1LookupTable3D 接口(D2d1_3.h)
ID2D1LookupTable3D 接口是 Win32 API 中 Direct2D 库提供的一部分,位于头文件 D2d1_3.h 中。这个接口用于表示 Direct2D 中的 3D 查找表。3D 查找表是一种颜色转换表,用于在图形渲染中进行颜色的映射和调整。以下是关于 ID2D1LookupTable3D 接口的一些基本信息:interface ID2D1LookupTable3D : public ID2D1Resource{ HRESULT Update(UINT32 resources, const BYTE *data, UINT32 dataSize, UINT32 stride); HRESULT GetRedTable(D2D1_BUFFER_PRECISION bufferPrecision, _Out_ BYTE *data, _Out_ UINT32 *dataSize, _Out_ UINT32 *stride); HRESULT GetGreenTable(D2D1_BUFFER_PRECISION bufferPrecision, _Ou...
Win32 API:ID2D1InkStyle 接口(D2d1_3.h)
ID2D1InkStyle 接口是 Direct2D 库中的一部分,用于定义墨迹(ink)的样式。截至我截止的知识日期(2022年1月),该接口是在 Direct2D 1.3 版本中引入的,定义在 D2d1_3.h 头文件中。以下是 ID2D1InkStyle 接口的一些主要方法:1. SetStartCap: 设置墨迹的起始端点样式。 HRESULT SetStartCap( D2D1_INK_NIB_SHAPE startCap );2. SetEndCap: 设置墨迹的结束端点样式。 HRESULT SetEndCap( D2D1_INK_NIB_SHAPE endCap );3. SetDashCap: 设置墨迹的虚线端点样式。 HRESULT SetDashCap( D2D1_INK_NIB_SHAPE dashCap );4. SetLineJoin: 设置墨迹的线段连接样式。 HRESULT SetLineJoin( D2D1_LINE_JOIN lineJoin );...
Win32 API:ID2D1Ink 接口(D2d1_3.h)
ID2D1Ink 接口是 Direct2D 库中的一部分,用于表示墨迹(ink)。墨迹是用户在触摸屏或数位板上绘制的笔迹。截至我截止的知识日期(2022年1月),该接口是在 Direct2D 1.3 版本中引入的,定义在 D2d1_3.h 头文件中。以下是 ID2D1Ink 接口的一些主要方法:1. GetBounds: 获取墨迹的边界矩形。 HRESULT GetBounds( ID2D1Brush* brush, const D2D1_RECT_F* drawingBounds, D2D1_RECT_F* bounds );2. GetBeziers: 获取表示墨迹的贝塞尔曲线。 HRESULT GetBeziers( UINT32 beziersCount, D2D1_BEZIER_SEGMENT* beziers );3. GetSegmentCount: 获取墨迹中的线段数。 HRESULT GetSegmentCount( UINT32* count );...
Win32 API:ID2D1ImageSourceFromWic 接口(D2d1_3.h)
ID2D1ImageSourceFromWic 接口是 Direct2D 库中的一部分,用于从 Windows Imaging Component (WIC) 创建图像源。截至我截止的知识日期(2022年1月),该接口是在 Direct2D 1.3 版本中引入的,定义在 D2d1_3.h 头文件中。以下是 ID2D1ImageSourceFromWic 接口的一些主要方法:1. EnsureCached: 将图像源从 WIC 图像数据中缓存。 HRESULT EnsureCached( const D2D1_RECT_U* srcRect );2. Trim: 从图像源中清除不再需要的缓存。 HRESULT Trim();3. GetSource: 获取与图像源关联的 WIC 图像源。 HRESULT GetSource( IWICBitmapSource** wicBitmapSource );你可以在 Microsoft 的文档中查找详细的信息和示例代码:[ID2D1ImageSourceFromWic Interface]...
Win32 API:ID2D1ImageSource 接口(D2d1_3.h)
ID2D1ImageSource 接口是 Direct2D 库中的一部分,用于表示图像源。截至我截止的知识日期(2022年1月),该接口是在 Direct2D 1.3 版本中引入的,定义在 D2d1_3.h 头文件中。以下是 ID2D1ImageSource 接口的一些主要方法:1. OfferResources: 通知 Direct2D 图像源需要其资源。 HRESULT OfferResources();2. TryReclaimResources: 尝试重新获取图像源之前提供的资源。 HRESULT TryReclaimResources( BOOL* resourcesDiscarded );3. GetFactory: 获取与该图像源相关联的工厂。 void GetFactory( ID2D1Factory** factory );你可以在 Microsoft 的文档中查找详细的信息和示例代码:[ID2D1ImageSource Interface](https://docs.microsoft.com/en-us/w...
Win32 API:ID2D1GradientMesh 接口(D2d1_3.h)
ID2D1GradientMesh 接口是 Direct2D 库中的一部分,用于表示渐变网格。截至我截止的知识日期(2022年1月),该接口是在 Direct2D 1.3 版本中引入的,定义在 D2d1_3.h 头文件中。以下是 ID2D1GradientMesh 接口的一些主要方法:1. AddTriangle: 向渐变网格添加一个三角形。 HRESULT AddTriangle( D2D1_GRADIENT_MESH_PATCH const * patch );2. RemovePatchesAtOutputVertexIndices: 从渐变网格中移除指定输出顶点索引的所有三角形。 HRESULT RemovePatchesAtOutputVertexIndices( UINT32 startVertex, UINT32 patchCount );3. RemovePatchesAtInputVertexIndices: 从渐变网格中移除包含指定输入顶点索引的所有三角形。 HRESULT RemovePatc...
Win32 API:ID2D1Factory3 接口(D2d1_3.h)
ID2D1Factory3 接口是 Win32 API 中 Direct2D 库中的一部分,定义在 D2d1_3.h 头文件中。这个接口是 Direct2D 库的工厂接口,用于创建 Direct2D 对象,如设备上下文、图形效果等。以下是 ID2D1Factory3 接口的一些常用方法:1. CreateDevice: 创建一个 Direct2D 设备。 HRESULT CreateDevice( IDXGIDevice* dxgiDevice, ID2D1Device** d2dDevice );2. CreateStrokeStyle: 创建一个描边样式。 HRESULT CreateStrokeStyle( const D2D1_STROKE_STYLE_PROPERTIES1* strokeStyleProperties, const FLOAT* dashes, UINT32 dashCount, ID2D1StrokeStyle1** strokeStyle );3....
Win32 API:ID2D1DeviceContext7 接口(D2d1_3.h)
ID2D1DeviceContext7 接口是 Win32 API 中 Direct2D 库中的一部分,定义在 D2d1_3.h 头文件中。这个接口提供了一些用于 Direct2D 渲染的功能,是 Direct2D 的一部分,用于创建和管理 Direct2D 设备上下文。以下是 ID2D1DeviceContext7 接口的一些常用方法:1. CreateEffectGroup: 创建一个效果组,该组可以包含多个图形效果。 HRESULT CreateEffectGroup( ID2D1EffectGroup** effectGroup );2. DrawInk: 在设备上下文中绘制墨迹。 HRESULT DrawInk( ID2D1Ink* ink, ID2D1Brush* brush, ID2D1InkStyle* inkStyle );3. CreateImageSourceFromWic: 从 Windows Imaging Component (WIC) 中创建一个图像源。 HRESULT ...
Win32 API:ID2D1DeviceContext5 接口(D2d1_3.h)
在 Win32 API 的 D2d1_3.h 头文件中,ID2D1DeviceContext5 接口是 Direct2D 中的设备上下文接口的扩展版本。以下是 ID2D1DeviceContext5 接口的定义:interface ID2D1DeviceContext5 : public ID2D1DeviceContext4{public: STDMETHOD(CreateTransformedImageSource)( _In_ ID2D1ImageSource* imageSource, _In_ CONST D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES* properties, _COM_Outptr_ ID2D1TransformedImageSource** transformedImageSource ) PURE; STDMETHOD(CreateSpriteBatch)( _COM_Outptr_ ID2D1SpriteBatch** spriteBa...
Win32 API:ID2D1DeviceContext3 接口(D2d1_3.h)
在 Win32 API 的 D2d1_3.h 头文件中,ID2D1DeviceContext3 接口是 Direct2D 中的设备上下文接口的扩展版本。以下是 ID2D1DeviceContext3 接口的定义:interface ID2D1DeviceContext3 : public ID2D1DeviceContext2{public: STDMETHOD(CreateImageBrush)( _In_opt_ ID2D1Image* image, _In_ CONST D2D1_IMAGE_BRUSH_PROPERTIES* imageBrushProperties, _In_opt_ CONST D2D1_BRUSH_PROPERTIES* brushProperties, _COM_Outptr_ ID2D1ImageBrush1** imageBrush ) PURE; STDMETHOD(CreateImageSourceFromDxgi)( _In_ IDXGISurfac...
Win32 API:ID2D1DeviceContext2 接口(D2d1_3.h)
在 Win32 API 的 D2d1_3.h 头文件中,ID2D1DeviceContext2 接口是 Direct2D 中的设备上下文接口的扩展版本。以下是 ID2D1DeviceContext2 接口的定义:interface ID2D1DeviceContext2 : public ID2D1DeviceContext1{public: STDMETHOD(CreateColorContextFromDxgiColorSpace)( DXGI_COLOR_SPACE_TYPE colorSpace, _Outptr_ ID2D1ColorContext** colorContext ) PURE; STDMETHOD(CreateColorContextFromSimpleColorProfile)( _In_reads_(profileSize) const void* profile, UINT32 profileSize, _Outptr_ ID2D1ColorContext**...
Win32 API:ID2D1Device3 接口(D2d1_3.h)
在 Win32 API 的 D2d1_3.h 头文件中,ID2D1Device3 接口是 Direct2D 中的设备接口的扩展版本。以下是 ID2D1Device3 接口的定义:interface ID2D1Device3 : public ID2D1Device2{public: STDMETHOD(CreateDeviceContext)( D2D1_DEVICE_CONTEXT_OPTIONS options, _Outptr_ ID2D1DeviceContext3** deviceContext ) PURE;};这个接口继承自 ID2D1Device2 接口,与之前提到的 ID2D1Device2 接口相似,但是 CreateDeviceContext 方法返回的是 ID2D1DeviceContext3 接口的指针。 CreateDeviceContext: 用于创建与设备相关的上下文(context)。接受两个参数,options 用于指定设备上下文的选项,deviceContext 用于接收创建的设备上下文接口指针。这个...
Win32 API:ID2D1Device2 接口(D2d1_3.h)
在 Win32 API 的 D2d1_3.h 头文件中,ID2D1Device2 接口是 Direct2D 中的设备接口的扩展版本。以下是 ID2D1Device2 接口的定义:interface ID2D1Device2 : public ID2D1Device1{public: STDMETHOD(CreateDeviceContext)( D2D1_DEVICE_CONTEXT_OPTIONS options, _Outptr_ ID2D1DeviceContext2** deviceContext ) PURE;};这个接口继承自 ID2D1Device1 接口,增加了一个名为 CreateDeviceContext 的方法。 CreateDeviceContext: 用于创建与设备相关的上下文(context)。接受两个参数,options 用于指定设备上下文的选项,deviceContext 用于接收创建的设备上下文接口指针。这个方法提供了在 Direct2D 设备上创建上下文的能力,其中的 ID2D1DeviceContex...
Win32 API:ID2D1CommandSink4 接口(D2d1_3.h)
在 Win32 API 的 D2d1_3.h 头文件中,ID2D1CommandSink4 接口是 Direct2D 中的命令接收器接口的扩展版本。以下是 ID2D1CommandSink4 接口的定义:interface ID2D1CommandSink4 : public ID2D1CommandSink3{public: STDMETHOD(Present)( D2D1_PRESENT_OPTIONS options, _In_ const D2D1_RECT_F* dirtyRect ) PURE;};这个接口继承自 ID2D1CommandSink3 接口,增加了一个名为 Present 的方法,用于在命令流中添加呈现(present)的命令。 Present: 在命令流中添加呈现(present)的命令,接受两个参数,options 用于指定呈现的选项,dirtyRect 用于指定需要更新的矩形区域。这些方法提供了对 Direct2D 的新功能的支持。如有需要,建议查阅 Microsoft 的官方文档以获取详细的使用说明和示例...
Win32 API:ID2D1CommandSink2 接口(D2d1_3.h)
在 Win32 API 的 D2d1_3.h 头文件中,ID2D1CommandSink2 接口是 Direct2D 中的命令接收器接口的扩展版本。以下是 ID2D1CommandSink2 接口的定义:interface ID2D1CommandSink2 : public ID2D1CommandSink1{public: STDMETHOD(SetPrimitiveBlend1)( D2D1_PRIMITIVE_BLEND primitiveBlend ) PURE; STDMETHOD(DrawSpriteBatch)( _In_ ID2D1SpriteBatch* spriteBatch, UINT32 startIndex, UINT32 spriteCount, _In_ ID2D1Bitmap* bitmap, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode, D2D1_SPRITE_OPTIONS...
Win32 API:ID2D1ColorContext1 接口(D2d1_3.h)
在 Win32 API 的 D2d1_3.h 头文件中,ID2D1ColorContext1 接口是与 Direct2D 中颜色上下文相关的接口。该接口是 ID2D1ColorContext 接口的扩展版本,用于支持更多的颜色管理功能。以下是 ID2D1ColorContext1 接口的定义:interface ID2D1ColorContext1 : public ID2D1ColorContext{public: STDMETHOD_(void, GetRenderingIntent)( _Out_ D2D1_COLOR_SPACE* colorSpace, _Out_ D2D1_COLOR_SPACE* intendedSpace ) CONST PURE;};这个接口继承自 ID2D1ColorContext 接口,并添加了一个额外的方法 GetRenderingIntent。这个方法用于检索颜色上下文的渲染意图。 GetRenderingIntent: 获取颜色上下文的渲染意图,返回两个参数,分别是 colorSpace 和 i...
Win32 API:D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS 枚举(D2d1_3.h)
在 Win32 API 中,D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS 枚举是与 Direct2D 图像转换相关的枚举类型。此枚举定义了 D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS 结构的选项。以下是 D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS 枚举的定义:typedef enum D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS{ D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_NONE = 0x00000000, D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_DISABLE_DPI_SCALE = 0x00000001, D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_FORCE_DWORD = 0xFFFFFFFF} D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS;这个枚举包含以下成员: D2D1_TRANSFORMED_IMAG...