Si recibe un código de error, no dude en tomar una captura de pantalla con DirectX, las instrucciones de hoy siempre deberían ayudar.
Aprobado: Fortect
¿No es el producto que busca? Responda las otras preguntas, denominada Captura de pantalla completa de DirectX, o pregúntese a sí mismo.
Con Detours, todos pueden instrumentar llamadas similares a llamadas con respecto a Direct3DCreate9
, IDirect3D9 :: CreateDevice
y, además, IDirect3D9 :: Present
en el que los propietarios se activan Los siguientes son los procesos necesarios para configurar y capturar una imagen.
Aprobado: Fortect
Fortect es la herramienta de reparación de PC más popular y eficaz del mundo. Millones de personas confían en él para mantener sus sistemas funcionando de forma rápida, fluida y sin errores. Con su sencilla interfaz de usuario y su potente motor de análisis, Fortect encuentra y soluciona rápidamente una amplia variedad de problemas de Windows, desde la inestabilidad del sistema y los problemas de seguridad hasta la gestión de la memoria y los cuellos de botella en el rendimiento.

Respondido el 26 de Diciembre de 2009 0:03
65,700
Este es realmente un ejemplo de C # de conectar partes de IDirect3DDevice9 utilizando inyección de DLL y funciones de conexión usando EasyHook (por ejemplo, Microsoft Detours). ¿Está esto relacionado con su funcionamiento actual de FRAPS?
Esto le permite grabar la pantalla en modo de ventana en lugar de en comparación con la pantalla completa, y utiliza el búfer trasero, que realmente es mucho más rápido que intentar obtener material del búfer frontal.
Una biblioteca auxiliar de C ++ útil que se utiliza para las definiciones de métodos del objeto IDirect3DDevice9 para poner en tiempo de ejecución.
Actualización: para DirectX 10/11 encontrará capturas de pantalla y superposiciones para D3D 9, 10 además de la 11
Fuente CompartirCrear 15 may.
1252
Este es el fragmento de código que utilicé debido al hecho de que es una prueba, por supuesto que funciona.
El ancho y alto son definitivamente el tamaño vinculado a la PANTALLA en modo ventana, no el tipo de ventana. Yo también, porque este tipo de productos están configurados en 1280 x 1440, no en el tamaño de la ventana en la que estoy renderizando.
Deberá reemplazar mEngine-> getDevice () entre las múltiples opciones para obtener su IDirect3DDevice9 tan bien. Acabo de pegar este código en la mayoría de las aplicaciones d3d que necesitaba para probar un desafío menor. Pero puedo asegurarle que probablemente capturará el resultado de esta aplicación, así como cualquier otra aplicación d3d que se ejecute al mismo tiempo.
Oh, supongamos que tengo este D3D9 especial, como no dijiste, no soy particular sobre d3d10 u 11
Superficie IDirect3DSurface9;mEngine-> getDevice () -> CreateOffscreenPlainSurface (ancho, alto, D3DFMT_A8R8G8B8, D3DPOOL_SCRATCH y superficie, NULL);mEngine-> getDevice () -> GetFrontBufferData (0, superficie);D3DXSaveSurfaceToFile ("c: tmp salida.jpg", D3DXIFF_JPG, superficie, NULL, NULL);Superficie-> Compartir ();
Respondido el 26 de 2009 a las 14:54
28,3k 1616 insignias de reloj usadas 7777 insignias de plata 122122 insignias de bronce
Por supuesto, hay un software de código fuente de desbloqueo como fraps: taksi, aunque parece obsoleto
Fuente CompartirCrear 26 dic, 2008 a las 11:20 2009 a las 13:23
251
Aquí hay una discusión sobre cómo funciona Fraps. No es así de fácil.
Cualquier truco por el que interfiera con la lectura del búfer externo de otro dispositivo, directx, puede, supongo, que a veces funcione mejor a través de la memoria no inicializada para tener suerte.
29 de diciembre de 2009 solo respondió a las 7:05
4779
Siguiendo la respuesta de J99, terminé trabajando en el código en los modos de ventana y pantalla completa. Esto también se hace porque D3D9.
IDirect3DSurface9 * superficie; D3DDISPLAYMODE; pDev-> GetDisplayMode (0, modo &); // pDev podría ser mi esposo y mi * IDirect3DDevice // puedo capturar toda la pantalla, // Por lo tanto, el tamaño y la altura están por encima de todo, pero no coinciden con el modo de selección actual pDev-> CreateOffscreenPlainSurface (mode.Width, mode.D3DFMT_A8R8G8B8, height, D3DPOOL_SCRATCH, & surface, NULL); if (pDev-> GetFrontBufferData (0, superficie) == D3D_OK) if (bWindowed) // variable de configuración en alta mar // Mostrar la sección del cliente en coordenadas de oficina // Puede necesitar una transformación para admitir diversas pantallas RECT r; GetClientRect (hWnd, & r); // hWnd también es un identificador de la ventana del autor PUNTO m = 0, 0; ClientToScreen (hWnd, & p); SetRect (& r, p.x, p.y, p.x + r. Derecha, p.y + r. Abajo); D3DXSaveSurfaceToFile (szFilename, D3DXIFF_JPG, superficie, NULL, & r); otro D3DXSaveSurfaceToFile (szFilename, D3DXIFF_JPG, piso, NULL, NULL); Superficie-> Compartir ();
Parece que el formato de datos y la configuración del grupo CreateOffscreenPlainSurface deberían intentar ser exactamente iguales.
respondió al 2 de octubre de 2012 a las 11:33 am
495
Acelere el rendimiento de su computadora ahora con esta simple descarga.Haga clic en la aplicación de la que desea ayudar a tomar una captura de pantalla.Presione t + Imprimir pantalla.Abra MS-Paint.Presione Ctrl + V.Lo más probable es que se ajuste a una captura de pantalla de la ventana que se muestra en Paint.
Presione este botón para soltar rápidamente los botones laterales y bajar el volumen directamente.
Este método es en muchos casos muy útil cuando está tomando una multitud de capturas de pantalla. Mientras mantiene presionado el botón Técnica de Windows, presione la tecla PrtSc en su teclado. La captura de pantalla completa se recortará dentro de la carpeta Imágenes> Capturas de pantalla. Una forma de obtener esta carpeta es encontrar siempre la versión rápidamente: Captura de pantalla.
