2 leeonlyou leeonlyou 于 2013.10.17 17:23 提问

为什么监控画面锁屏后解锁获取不到资源出错,求解?

下列是D3D绘制图像的函数代码,没有锁屏之前监控画面好好的,锁屏之后再解锁就获取不到监控画面了,锁屏会对程序有影响吗?求指点迷津。

void ComponentBase::Draw(BYTE* data)
{
D3DLOCKED_RECT d3dRect;
g_pTexture->LockRect( 0, &d3dRect, 0, 0 );// 锁住纹理
// 填充数据
BYTE *pDst = (BYTE *)d3dRect.pBits;
//int pitch = d3dRect.Pitch >> 2;
int pitch = width;

for (int i=0; i<height; ++i)
{
    for (int j=0; j<width; ++j)
    {
        pDst[(height - i - 1) * pitch * 4 + j * 4] = data[i * pitch * 3 + j * 3];
        pDst[(height - i - 1) * pitch * 4 + j * 4 + 1] = data[i * pitch * 3 + j * 3 + 1];
        pDst[(height - i - 1) * pitch * 4 + j * 4 + 2] = data[i * pitch * 3 + j * 3 + 2];
        pDst[(height - i - 1) * pitch * 4 + j * 4 + 3] = 255;
    }
}
g_pTexture->UnlockRect (0);
RECT  rcSource;
rcSource.top = 0;
rcSource.left = 0;
rcSource.bottom = height;
rcSource.right = width;
D3DXVECTOR3 vCenter( 0.0f, 0.0f, 0.0f );
D3DXVECTOR3 vPosition( 0.0f, 0.0f, 0.0f );
g_pD3DXSprite->Begin( D3DXSPRITE_ALPHABLEND );(D3DXSPRITE_SORT_TEXTURE)
{
    g_pD3DXSprite->Draw( g_pTexture,
        &rcSource,
        &vCenter,
        &vPosition,
        D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,1.0f) );
}
g_pD3DXSprite->End();//绘制结束

}`

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android监听屏幕屏幕锁屏与解锁
/** * 创建一个监听器类 监听android锁屏与解锁事件 */ public class ScreenListener { private Context mContext; private ScreenBroadcastReceiver mScreenReceiver; private ScreenStateListener mScreenState
SurfaceView+MediaPlayer 播放视频 锁屏 没有画面等各种问题的解决方案。
这里我只简单说明下,不粘代码了,首先我们发现,当锁屏的时候,系统调用了onDestroy,再解开锁屏的时候,这个Activity又重新onCreate了,正是因为这个原因,SurfaceView会出现不同的新对象,导致有时会只有声音没有画面,解决办法很简单,锁屏的时候,不走onDestory即可。以下是Minifast的一些代码               android:name=".Act
Android 锁屏显示和屏幕解锁
开发后台服务的时候经常需要对屏幕状态进行判断,屏幕的状态,比如是否是亮着的,可以使用PowerManager的isScreenOn方法进行判断,比如屏幕是否开启了自动旋转等。1:判断屏幕是否处于常亮的状态 public boolean isScreenOn(Context context) { PowerManager pm = (PowerManager) context.ge
iOS 监听锁屏/解锁事件
定义两个宏:  //监听锁屏事件 #define kNotificationLock CFSTR("com.apple.springboard.lockcomplete") //监听屏幕状态变化事件 #define kNotificationChange CFSTR("com.apple.springboard.lockstate") 注册达尔文通知: 注意此处CFNotificationCe
Android系统亮屏、锁屏、屏幕解锁事件(解决部分手机亮屏后未解锁即进入resume状态)
有一部分三星的手机关闭屏幕以后,刚打开屏幕,前台的activity就会resume状态,因为我们使用cocos2d-x引擎,默认resume和activity的resume事件是一致的,我们在resume里把关闭的声音重新打开,所以导致,用户点亮屏幕以后(尚未解锁),就会听到游戏内的声音(如果在关闭屏幕时我们游戏处于前台)。 为了解决这个问题,我们需要修改我们resume触发的时机。确保在解锁以后才进入我们游戏的resume状态。 那么我们游戏应该在什么时机进入resume状态呢? 1. 系统activi
Unity 与 Android 交互:程序运行中手机突然锁屏再解屏程序重新启动的问题
最近的在做的一个项目,突然找出了这样的BUG: 手机上运行该程序,长时间未使用,手机自动息屏了,再次点亮解锁,发现程序重新启动了,之后进行多次息屏解锁测试,还都有这种情况。。。 之后经过排除法确定,出现BUG的原因在于我添加的那部分与Android交互的那部分代码。 在我的这个项目中,与Android的交互是在第一个场景中,点击某个Button跳转到Android界面,点击返回跳转回来。而且
Android 监听屏幕锁屏,用户解锁
最近在做视频播放器的时候,遇到一个问题,在用户播放视频然后锁屏之后,视频播放器仍然在继续播放,遇到类似手机系统状态改变的问题的时候,首先想到了广播(don't call me,i will call you);在网上搜罗了一个方法,做个总结; public class ScreenListener { private Context mContext; private Scr
Android的解锁和唤醒,这里锁屏还没有完成,有问题
权限: 代码: package com.wbm.app.wakeandlockdemo; import android.app.KeyguardManager; import android.content.Context; import android.os.Handler; import android.os.Message; import
IOS-监测锁屏事件
http://www.cnblogs.com/daguo/p/4171389.html iPhone的锁屏监测分为两种方式监听: 1. 程序在前台,这种比较简单。直接使用Darwin层的通知就可以了: #import #define NotificationLock CFSTR("com.apple.springboard.lockcomplete")
类似酷狗锁屏时页面显示在解锁页面之上的实现方法
1.在页面初始化时添加  getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);  2.添加权限