将截图添加入用户的截图库的函数。
参见
Steam 屏幕截图,了解更多信息。
成员函数
ISteamScreenshots
的成员函数通过全局访问器函数
SteamScreenshots()
调用。
AddScreenshotToLibrary
ScreenshotHandle AddScreenshotToLibrary( const char *pchFilename, const char *pchThumbnailFilename, int nWidth, int nHeight );
名称 | 类型 | 描述 |
pchFilename | const char * | JPG、PNG 及 TGA 截图的绝对文件路径。 |
pchThumbnailFilename | const char * | 可选缩略图图像的绝对文件路径。 宽度必须为 k_ScreenshotThumbWidth 所定义的 200px 宽,且具有相同的宽高比。 如果沒有缩略图,则传入 NULL,将自动创建一个缩略图。 |
nWidth | int | 截图的宽度。 |
nWidth | int | 截图的高度。 |
从磁盘中添加截图至用户的 Steam 截图库。
返回: ScreenshotHandle触发
ScreenshotReady_t 回调。
在游戏进程期间有效且能用来进行标记的截图句柄。
如果无法保存文件,则返回
INVALID_SCREENSHOT_HANDLE。
此调用为异步调用,截图写入磁盘后会发送
ScreenshotReady_t 回调。
AddVRScreenshotToLibrary
ScreenshotHandle AddVRScreenshotToLibrary( EVRScreenshotType eType, const char *pchFilename, const char *pchVRFilename );
名称 | 类型 | 描述 |
eType | EVRScreenshotType | VR 截图类型。 |
pchFilename | const char * | 截图的 2D JPG、PNG 或 TGA 版本的绝对文件路径,用于库视图。 |
pchVRFilename | const char * | VR 截图的绝对文件路径,应与 eType 中指定的截图类型相同。 |
从磁盘中以支持的类型添加一张 VR 截图至用户的 Steam 截图库。
返回: ScreenshotHandle触发
ScreenshotReady_t 回调。
在游戏进程期间有效且能用来进行标记的截图句柄。
如果文件无法保存,则返回
INVALID_SCREENSHOT_HANDLE。
此调用为异步调用,截图写入磁盘后会发送
ScreenshotReady_t 回调。
HookScreenshots
void HookScreenshots( bool bHook );
名称 | 类型 | 描述 |
bHook | bool | 启动(true)或禁用(false)挂钩? |
用户按下截图热键时,切换选择是否由界面来处理截图,或者由游戏进行处理。
默认为禁用挂钩,只有使用此函数方可启用。
如果启用挂钩,则用户按下热键或
TriggerScreenshot 被调用时,
ScreenshotRequested_t 回调会发送,随后游戏应调用
WriteScreenshot 或
AddScreenshotToLibrary 进行响应。
您可以使用
IsScreenshotsHooked 检查挂钩是否启用。
IsScreenshotsHooked
bool IsScreenshotsHooked();
检查应用是否正在与截图挂钩,或者是否 Steam 界面正在处理截图。
可用
HookScreenshots 进行切换。
返回: bool
true, 表示游戏正在与截图挂钩且会预计对截图进行处理;否则返回
false。
SetLocation
bool SetLocation( ScreenshotHandle hScreenshot, const char *pchLocation );
设置截图位置的可选元数据。 例如,截图所截自的地图的名称。
从
ScreenshotReady_t 回调或通过
WriteScreenshot、
AddScreenshotToLibrary、
AddVRScreenshotToLibrary 调用成功保存截图后,可获取句柄对截图进行标记。
返回: bool
true, 表示成功将位置添加至截图。
false, 表示
hScreenshot
为无效,或
pchLocation
无效或太长。
TagPublishedFile
bool TagPublishedFile( ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID );
将已发布文件标记为在截图中可见。
您在单张截图中可标记的最大数量为
k_nScreenshotMaxTaggedPublishedFiles 所声明的值。 对超量的物品进行的标记操作会被舍弃。
本函数具有内置延迟,可在保存标记前允许您对每个物品反复调用。
从
ScreenshotReady_t 回调或通过
WriteScreenshot、
AddScreenshotToLibrary、
AddVRScreenshotToLibrary 调用成功保存截图后,可获取句柄对截图进行标记。
返回: bool
TagUser
bool TagUser( ScreenshotHandle hScreenshot, CSteamID steamID );
对 Steam 用户标记为在截图中可见。
您在单张截图中可标记的最大数量为
k_nScreenshotMaxTaggedUsers 所声明的值。 对超量的用户进行的标记操作会被舍弃。
本函数具有内置延迟,可在保存标记前允许您对每个物品反复调用。
从
ScreenshotReady_t 回调或通过
WriteScreenshot、
AddScreenshotToLibrary、
AddVRScreenshotToLibrary 调用成功保存截图后,可获取句柄对截图进行标记。
返回: bool
TriggerScreenshot
void TriggerScreenshot();
或者导致 Steam 界面进行截图,或者告知您的截图管理器需要进行截图。 取决于
IsScreenshotsHooked 的值。
返回: void
触发
ScreenshotRequested_t 回调。
触发
ScreenshotReady_t 回调。
如果使用
HookScreenshots 启用挂钩,只会导致
ScreenshotRequested_t 。 否则如果截图已保存并添加至库,会调用
ScreenshotReady_t。
WriteScreenshot
ScreenshotHandle WriteScreenshot( void *pubRGB, uint32 cubRGB, int nWidth, int nHeight );
名称 | 类型 | 描述 |
pubRGB | void * | 包含来自截图的原始 RGB 数据的缓冲区。 |
cubRGB | uint32 | pubRGB 的字节大小。 |
nWidth | int | 截图的宽度,以像素表示。 |
nWidth | int | 截图的高度,以像素表示。 |
将截图的原始图像数据写入用户的 Steam 截图库,必须为 RGB 格式。
返回: ScreenshotHandle触发
ScreenshotReady_t 回调。
在游戏进程期间有效且能用来进行标记的截图句柄。
如果无法保存文件,则返回
INVALID_SCREENSHOT_HANDLE。
此函数为异步调用,截图写入磁盘后会发送
ScreenshotReady_t 回调。
回调
以下是可以通过调用
SteamAPI_RunCallbacks 触发的回调。 其中许多将响应
ISteamScreenshots
的成员函数直接触发。
ScreenshotReady_t
截图成功写入或增加至库中,现在可以进行标记。
关联函数: WriteScreenshot,
AddScreenshotToLibrary,
TriggerScreenshot,
AddVRScreenshotToLibraryScreenshotRequested_t
用户使用 Steam 截图热键请求截图。 只有在已启用
HookScreenshots 时才会调用,此时 Steam 不会自行截图。
此回调无字段。
关联函数: TriggerScreenshot枚举
以下为经过定义来与 ISteamScreenshots 一起使用的枚举。
EVRScreenshotType
描述 VR 截图的类型。
名称 | 值 | 描述 |
k_EVRScreenshotType_None | 0 | |
k_EVRScreenshotType_Mono | 1 | |
k_EVRScreenshotType_Stereo | 2 | |
k_EVRScreenshotType_MonoCubemap | 3 | |
k_EVRScreenshotType_MonoPanorama | 4 | |
k_EVRScreenshotType_StereoPanorama | 5 | |
Typedefs
以下是经过定义来与 ISteamScreenshots 一起使用的 typedefs。
名称 | 基类型 | 描述 |
ScreenshotHandle | uint32 | 截图句柄。 在您整个进程期间有效,之后无效。 |
常量
以下是经过定义来与 ISteamScreenshots 一起使用的常量。
名称 | 类型 | 值 | 描述 |
INVALID_SCREENSHOT_HANDLE | int | 0 | 无效截图句柄,在写入或添加截图失败时返回。 |
k_cubUFSTagTypeMax | int | 255 | 未使用。 |
k_cubUFSTagValueMax | int | 255 | 用 SetLocation 在截图上设置的位置元数据字符串的最大字节数。 |
k_nScreenshotMaxTaggedPublishedFiles | uint32 | 32 | 能在截图中用 TagPublishedFile 进行标记的创意工坊物品的最大数量。 |
k_nScreenshotMaxTaggedUsers | uint32 | 32 | 能在截图中用 TagUser 进行标记的用户的最大数量。 |
k_ScreenshotThumbWidth | int | 200 | 提供给 AddScreenshotToLibrary 的缩略图所需宽度。 如果您不提供缩略图,则缩略图会自动生成。 |
STEAMSCREENSHOTS_INTERFACE_VERSION | const char * | "STEAMSCREENSHOTS_INTERFACE_VERSION003" | |