小编Ars*_*nic的帖子

11
推荐指数
2
解决办法
1826
查看次数

在Java中全屏捕获DirectX程序(Javacv?)

[对于Windows]我知道可以捕获在C#语言下运行的DirectX程序的屏幕,但是你知道一些Java的示例代码吗?

我实际上面临同样的问题,而不是使用java在全屏幕应用程序中拍摄屏幕截图?.机器人课没有帮助,也没有工作.

但是我没有在互联网上找到任何关于此的java代码示例.感谢您就此主题提供的任何帮助.

java directx screen capture

5
推荐指数
1
解决办法
1168
查看次数

使用Java中的DirectX快速捕获屏幕(从C#中的现有代码重写到Java)

我的目标是使用Java中的DirectX捕获屏幕.我发现这个项目充分详细的解释,并在这里用C#.

不幸的是,我对C sharp没有任何了解.我不知道我是否可以在这里问一下从C#到Java提到的重写代码到那些处理这两种语言的人,但我想最终的结果会引起很多人的兴趣.

无论如何,我感谢那些提前帮助我的人.即使我从未尝试过,我也知道不建议使用C# - > Java转换软件(或任何其他语言),这解释了我的重写问题.

请在下面找到相关代码:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SlimDX.Direct3D9;

namespace KMPP
{
public class DxScreenCapture
{
    Device d;

    public DxScreenCapture()
    {
        PresentParameters present_params = new PresentParameters();
        present_params.Windowed = true;
        present_params.SwapEffect = SwapEffect.Discard;
        d = new Device(new Direct3D(), 0, DeviceType.Hardware, IntPtr.Zero, CreateFlags.SoftwareVertexProcessing, present_params);
    }

    public Surface CaptureScreen()
    {
        Surface s = Surface.CreateOffscreenPlain(d, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, Format.A8R8G8B8, Pool.Scratch);
        d.GetFrontBufferData(0, s);
        return s;
    }
}
}
Run Code Online (Sandbox Code Playgroud)

PS:由于 …

c# java directx rewrite screenshot

5
推荐指数
1
解决办法
1439
查看次数