小编Tan*_*005的帖子

可触摸屏幕上操纵杆的算法

我想像这张图片一样在可触摸屏幕上模拟一个模拟操纵杆.

适用于Android的最终幻想3

当粘贴区域的中心设置为(cx,cy)时,如何从触摸位置(tx,ty)计算X方向比和Y方向比(-1.0~1.0)?

地点图片

iphone android touch joystick

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

使用DirectX进行桌面捕获不起作用

由于D3DPOOL_SCRATCH的处理速度很慢,我编写了桌面捕获程序以引用Internet上的报告.然而,结果是漆黑图片.这是控制台程序的结果还是有其他原因?

#include <stdio.h>
#include <Windows.h>
#include <d3d9.h>

void main()
{
    CoInitialize(NULL);

    LPDIRECT3D9 d3d9;
    LPDIRECT3DDEVICE9 d3ddev;
    d3d9 = Direct3DCreate9(D3D_SDK_VERSION);

    int ww = GetSystemMetrics(SM_CXSCREEN);
    int wh = GetSystemMetrics(SM_CYSCREEN);

    HWND hwnd = GetDesktopWindow();
    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory(&d3dpp, sizeof(d3dpp));
    d3dpp.Windowed = TRUE;
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
    d3dpp.BackBufferCount = 1;
    d3dpp.BackBufferWidth = ww;
    d3dpp.BackBufferHeight = wh;
    d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE;
    d3dpp.MultiSampleQuality = 0;
    d3dpp.EnableAutoDepthStencil = TRUE;
    d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
    d3dpp.hDeviceWindow = hwnd;
    d3dpp.Flags = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
    d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
    d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;

    d3d9->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, …
Run Code Online (Sandbox Code Playgroud)

directx desktop screenshot capture

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

如何使用DirectX从后台缓冲区获取桌面的屏幕截图

我问如何在DirectX中拍摄屏幕截图并回答"使用GetFrontBufferData()".但是,MSDN中描述了"这个功能非常慢,按设计,不应该用于任何性能关键路径" .

当我向其他人询问测量时,"将后缓冲器的数据传输到系统存储器"得到了回答.但是,我无法找到具体的方法.

这是一个失败的例子.请让我知道正确的代码.

#include <stdio.h>
#include <Windows.h>
#include <d3d9.h>
#include <d3dx9tex.h>

void main()
{
    CoInitialize(NULL);

    HWND hwnd = GetDesktopWindow();

    LPDIRECT3D9 d3d9;
    D3DDISPLAYMODE ddm;

    d3d9 = Direct3DCreate9(D3D_SDK_VERSION);
    d3d9->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&ddm);

    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory(&d3dpp,sizeof(D3DPRESENT_PARAMETERS));
    d3dpp.Windowed = TRUE;
    d3dpp.SwapEffect = D3DSWAPEFFECT_COPY;
    d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
    d3dpp.BackBufferCount = 1;
    d3dpp.BackBufferWidth = ddm.Width;
    d3dpp.BackBufferHeight = ddm.Height;
    d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE;
    d3dpp.MultiSampleQuality = 0;
    d3dpp.EnableAutoDepthStencil = TRUE;
    d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
    d3dpp.hDeviceWindow = hwnd;
    d3dpp.Flags = D3DPRESENTFLAG_VIDEO;
    d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
    d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;

    LPDIRECT3DDEVICE9 dev;
    d3d9->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL, …
Run Code Online (Sandbox Code Playgroud)

directx desktop screenshot capture directx-9

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

我可以为Window Universal App创建一个警报应用程序吗?

我想创建一个警报应用程序.

我找到了在后台操作计时器的方法.但是没有找到控制显示器功率的API(我希望在电源关闭时打开显示器的电源).

Windows 10(Windows Universal App)是否有足够的API来创建该应用程序?

c# c++ win-universal-app windows-10 uwp

5
推荐指数
2
解决办法
6582
查看次数

Android NDK返回错误"未定义引用'rand'"

我正在尝试使用libvpx安装Android x86的webm解码器.

我通过以下命令构建了库并获得了"libvpx.a".

../configure --target=x86-android-gcc --disable-vp8-encoder --disable-vp9-encoder --disable-examples --sdk-path=$ANDROID_NDK_ROOT --enable-pic --enable-postproc
Run Code Online (Sandbox Code Playgroud)

当我在Windows上使用此库是ndk-build时,发生了错误.

C:/android/[project]/jni/../plib/libvpx.a(postproc_mmx.asm.o)(.text+0x1c8): error: undefined reference to 'rand'
C:/android/[project]/jni/../plib/libvpx.a(postproc_sse2.asm.o)(.text+0x65c): error: undefined reference to 'rand'
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

libmepx.a for armeabi没有出现错误.有人不知道解决方案吗?

(JNI/Android.mk)

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := sublib
LOCAL_SRC_FILES := sublib.cpp

LOCAL_LDLIBS := -llog

LOCAL_STATIC_LIBRARIES := libvpx_pre

include $(BUILD_SHARED_LIBRARY)

include $(LOCAL_PATH)/../plib/Android_x86.mk
Run Code Online (Sandbox Code Playgroud)

(PLIB/Android_x86.mk)

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := libvpx_pre
LOCAL_SRC_FILES := libvpx.a
LOCAL_STATIC_LIBRARIES := cpufeatures

include $(PREBUILT_STATIC_LIBRARY)

$(call import-module,android/cpufeatures)
Run Code Online (Sandbox Code Playgroud)

c android android-ndk libvpx android-x86

4
推荐指数
1
解决办法
7538
查看次数

WindowFromPoint在64位.NET Framework上无法正常运行

我用C#和.NET 4.0编写了简易测试程序.

[DllImport("user32.dll")]
static extern IntPtr WindowFromPoint(int xPoint, int yPoint);

Point pt = MousePosition;
IntPtr w = WindowFromPoint(pt.X, pt.Y);
Run Code Online (Sandbox Code Playgroud)

如果它建立为32位,它可以工作.但如果它构建为64位,则会返回不相关的窗口句柄.有解决方案或替代方案吗?

.net c# 64-bit winforms

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