Documentación de Steamworks
Interfaz de ISteamScreenshots
Funciones para agregar capturas de pantalla a la biblioteca de capturas de pantalla del usuario.

Visita Capturas de Steam para obtener más información.

Funciones miembro

Las funciones miembro para ISteamScreenshots se llaman a través de la función de acceso global SteamScreenshots().

AddScreenshotToLibrary

ScreenshotHandle AddScreenshotToLibrary( const char *pchFilename, const char *pchThumbnailFilename, int nWidth, int nHeight );
NombreTipoDescripción
pchFilenameconst char *Ruta de acceso absoluta a la captura de pantalla en JPG, PNG o TGA.
pchThumbnailFilenameconst char *La ruta completa del archivo a una imagen opcional en miniatura. Debe tener 200 píxeles de ancho, como lo describe k_ScreenshotThumbWidth y la misma relación de aspecto. NULL si no hay una miniatura, se creará una automáticamente.
nWidthintAncho de la captura de pantalla.
nHeightintAltura de la captura de pantalla.

Agrega una captura de pantalla a la biblioteca de capturas de Steam del usuario desde un disco.

Devuelve: ScreenshotHandle
Activa una ScreenshotReady_t función callback.
El identificador de esta captura de pantalla es válido mientras dure el proceso del juego y se puede usar para aplicar etiquetas.
Devuelve INVALID_SCREENSHOT_HANDLE si no se pudo guardar el archivo.

Esta llamada es asíncrona, se enviará una función callback ScreenshotReady_t cuando la captura de pantalla haya terminado de escribir en el disco.

AddVRScreenshotToLibrary

ScreenshotHandle AddVRScreenshotToLibrary( EVRScreenshotType eType, const char *pchFilename, const char *pchVRFilename );
NombreTipoDescripción
eTypeEVRScreenshotTypeTipo de esta captura de pantalla de realidad virtual.
pchFilenameconst char *Ruta de acceso absoluta a una versión JPG, PNG o TGA en 2D de la captura de pantalla para la vista de la biblioteca.
pchVRFilenameconst char *La ruta de acceso absoluta del archivo a la captura de pantalla de RV, debe ser el mismo tipo de captura de pantalla especificado en eType.

Agrega una captura de pantalla de realidad virtual del tipo compatible a la biblioteca de capturas de Steam del usuario desde un disco.

Devuelve: ScreenshotHandle
Activa una ScreenshotReady_t función callback.
El identificador de esta captura de pantalla es válido mientras dure el proceso del juego y se puede usar para aplicar etiquetas.
Devuelve INVALID_SCREENSHOT_HANDLE si no se pudo guardar el archivo.

Esta llamada es asíncrona, se enviará una función callback ScreenshotReady_t cuando la captura de pantalla haya terminado de escribir en el disco.

HookScreenshots

void HookScreenshots( bool bHook );
NombreTipoDescripción
bHookbool¿Activar el enlace a (true) o deshabilitar a (false)?

Determina si es la interfaz quien gestiona las capturas de pantalla cuando el usuario pulsa el atajo correspondiente o es el juego el que se encarga.

El enlazado está deshabilitado por defecto y solo se puede habilitar con esta función.

Si el enlace está habilitado, entonces se enviará la función callback ScreenshotRequested_t si el usuario presiona la tecla de acceso rápido o cuando se llama TriggerScreenshot, y luego se llama al juego. Se espera que llame a WriteScreenshot o AddScreenshotToLibrary en respuesta.

Puedes verificar si el enlace está habilitado con IsScreenshotsHooked.

IsScreenshotsHooked

bool IsScreenshotsHooked();
Comprueba si es la aplicación quien enlaza las capturas de pantalla o se encarga la interfaz de Steam.

Esto se puede alternar con HookScreenshots.

Devuelve: bool
true si el juego está enganchando capturas de pantalla y se espera usarlas; de lo contrario, false.

SetLocation

bool SetLocation( ScreenshotHandle hScreenshot, const char *pchLocation );
NombreTipoDescripción
hScreenshotScreenshotHandleIdentificador o handle de la captura de pantalla que se va a etiquetar.
pchLocationconst char *Ubicación del juego de donde se tomó la captura de pantalla. Esto no puede ser más largo que k_cubUFSTagValueMax.

Establece metadatos opcionales sobre la ubicación de una captura de pantalla. Por ejemplo, el nombre del mapa de donde se sacó.

Puedes obtener el controlador para etiquetar la captura de pantalla una vez que se haya guardado correctamente desde la función callback ScreenshotReady_t o mediante la WriteScreenshot, AddScreenshotToLibrary, AddVRScreenshotToLibrary.

Devuelve: bool
true si se ha agregado correctamente la ubicación a la captura de pantalla.
False si hScreenshot no es válido, o pchLocation no es válido o es demasiado largo.

TagPublishedFile

bool TagPublishedFile( ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID );
NombreTipoDescripción
hScreenshotScreenshotHandleIdentificador o handle de la captura de pantalla que se va a etiquetar.
unPublishedFileIDPublishedFileId_tId. del artículo del Workshop que está en la captura de pantalla.

Etiqueta como visible en la captura de pantalla un archivo publicado.

Puedes etiquetar hasta el valor declarado por k_nScreenshotMaxTaggedPublishedFiles en una sola captura de pantalla. No será posible etiquetar más artículos de los declarados.

Esta función tiene integrado un retraso antes de guardar la etiqueta, lo que permite llamarla varias veces para cada artículo.

Puedes obtener el controlador para etiquetar la captura de pantalla una vez que se haya guardado correctamente desde la función callback ScreenshotReady_t o mediante la WriteScreenshot, AddScreenshotToLibrary, AddVRScreenshotToLibrary.

Devuelve: bool

TagUser

bool TagUser( ScreenshotHandle hScreenshot, CSteamID steamID );
NombreTipoDescripción
hScreenshotScreenshotHandleIdentificador o handle de la captura de pantalla que se va a etiquetar.
steamIDCSteamIDId. de Steam de un usuario que aparece en la captura de pantalla.

Etiqueta como visible a un usuario de Steam en la captura de pantalla.

Puedes etiquetar hasta el valor declarado por k_nScreenshotMaxTaggedUsers en una sola captura de pantalla. No será posible etiquetar a más usuarios de los declarados.

Esta función tiene integrado un retraso antes de guardar la etiqueta, lo que permite llamarla varias veces para cada artículo.

Puedes obtener el controlador para etiquetar la captura de pantalla una vez que se haya guardado correctamente desde la función callback ScreenshotReady_t o mediante la WriteScreenshot, AddScreenshotToLibrary, AddVRScreenshotToLibrary.

Devuelve: bool

TriggerScreenshot

void TriggerScreenshot();
Hace que la interfaz de Steam tome una captura de pantalla, o bien indica al gestor de capturas de pantalla que se debe tomar una captura. Dependiendo del valor de IsScreenshotsHooked.

Devuelve: void
Activa una ScreenshotRequested_t función callback.
Activa una ScreenshotReady_t función callback.
Solo causa ScreenshotRequested_t si el enlace ha sido habilitado con HookScreenshots. De lo contrario, se llamará ScreenshotReady_t cuando la captura de pantalla se haya guardado y agregado a la biblioteca.

WriteScreenshot

ScreenshotHandle WriteScreenshot( void *pubRGB, uint32 cubRGB, int nWidth, int nHeight );
NombreTipoDescripción
pubRGBvoid *Búfer que contiene los datos RGB sin procesar de la captura de pantalla.
cubRGBuint32El tamaño de pubRGB en bytes.
nWidthintAncho de la captura de pantalla en píxeles.
nHeightintAltura de la captura de pantalla en píxeles.

Escribe una captura de pantalla en la biblioteca de capturas de Steam del usuario e incluye los datos de la imagen sin procesar, que deben usar el formato RGB.

Devuelve: ScreenshotHandle
Activa una ScreenshotReady_t función callback.
El identificador de esta captura de pantalla es válido mientras dure el proceso del juego y se puede usar para aplicar etiquetas.
Devuelve INVALID_SCREENSHOT_HANDLE si no se pudo guardar el archivo.

Esta llamada es asíncrona, se enviará una función callback ScreenshotReady_t cuando la captura de pantalla haya terminado de escribir en el disco.

Funciones callback

Estas son funciones callback que pueden activarse llamando a SteamAPI_RunCallbacks. Muchas de estas se activarán directamente en respuesta a las funciones miembro de ISteamScreenshots.

ScreenshotReady_t

La captura de pantalla se ha escrito o agregado a la biblioteca correctamente y ya puede etiquetarse.

NombreTipoDescripción
m_hLocalScreenshotHandleIdentificador o handle de la captura de pantalla que se ha escrito.
m_eResultEResultResultado de la operación. Posibles valores:
  • k_EResultOK: la captura de pantalla se agregó exitosamente a la biblioteca de usuarios.
  • k_EResultFail: la captura de pantalla no se pudo cargar ni analizar.
  • k_EResultIOFailure: no se pudo guardar la captura de pantalla en el disco.

Funciones asociadas: WriteScreenshot, AddScreenshotToLibrary, TriggerScreenshot, AddVRScreenshotToLibrary

ScreenshotRequested_t

El usuario ha solicitado una captura de pantalla mediante la combinación de teclas de Steam asignadas a este fin. Solo se llamará si HookScreenshots se ha habilitado, en cuyo caso Steam no tomará la captura de pantalla en sí.

Esta función callback no tiene campos.

Funciones asociadas: TriggerScreenshot

Enums

Estas son las enumeraciones definidas para usarse con ISteamScreenshots.

EVRScreenshotType

Describe el tipo de capturas de pantalla de realidad virtual.

NombreValorDescripción
k_EVRScreenshotType_None0
k_EVRScreenshotType_Mono1
k_EVRScreenshotType_Stereo2
k_EVRScreenshotType_MonoCubemap3
k_EVRScreenshotType_MonoPanorama4
k_EVRScreenshotType_StereoPanorama5

Typedefs

Estas son las definiciones de tipo establecidas para usarse con ISteamScreenshots.

NombreTipo de baseDescripción
ScreenshotHandleuint32Manejar a una captura de pantalla. Será válido mientras dure ese proceso, pero no después.

Constants

Estas son constantes definidas para usarse con ISteamScreenshots.

NombreTipoValorDescripción
INVALID_SCREENSHOT_HANDLEint0IntIdentificador o handle de una captura de pantalla no válida; se devuelve cuando se produce un error al escribir o agregar una captura de pantalla.
k_cubUFSTagTypeMaxint255Sin usar.
k_cubUFSTagValueMaxint255La longitud máxima en bytes de una cadena de metadatos de ubicación establecida en una captura de pantalla usando SetLocation.
k_nScreenshotMaxTaggedPublishedFilesuint3232El número máximo de elementos del workshop que se pueden etiquetar en una captura de pantalla usando TagPublishedFile.
k_nScreenshotMaxTaggedUsersuint3232El número máximo de usuarios que se pueden etiquetar en una captura de pantalla usando TagUser.
k_ScreenshotThumbWidthint200Anchura requerida de una miniatura proporcionada a AddScreenshotToLibrary. Si no se proporciona la miniatura, se genera una automáticamente.
STEAMSCREENSHOTS_INTERFACE_VERSIONconst char *"STEAMSCREENSHOTS_INTERFACE_VERSION003"