游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: ccy_222

我想做一个后台程序,将屏幕翻转180度

[复制链接]

9

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
 楼主| 发表于 2007-9-5 11:20:00 | 显示全部楼层

Re:我想做一个后台程序,将屏幕翻转180度

据说有这样一个病毒程序,不知道有谁见过没有

9

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
 楼主| 发表于 2007-9-13 16:48:00 | 显示全部楼层

Re:我想做一个后台程序,将屏幕翻转180度

沉得太快,问题还没有解决,请支招

1

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2007-9-13 17:08:00 | 显示全部楼层

Re:我想做一个后台程序,将屏幕翻转180度

直接把显示器倒着放:)


windows的希伯来语和阿拉伯语版本的一切是从右到左的(也就是mirror),不知道这个信息对你有没用

9

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
 楼主| 发表于 2007-9-13 17:31:00 | 显示全部楼层

Re:我想做一个后台程序,将屏幕翻转180度

我想对桌面做个哈哈镜的效果,就是对其进行局部放大和缩小,有什么办法吗

1

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2007-9-13 18:43:00 | 显示全部楼层

Re:我想做一个后台程序,将屏幕翻转180度

如果像屏保一样,把当前屏幕截下来,然后输出haha镜效果,没有用户对桌面的操作,很简单,调用api就行了。 下面是一个截屏得代码
//暂时不允许其他程序更新整个屏幕
        if ( LockWindowUpdate(hwnd=GetDesktopWindow()))
        {
                hdcScr=GetDCEx(hwnd,NULL,DCX_CACHE | DCX_LOCKWINDOWUPDATE);
                hdcMem=CreateCompatibleDC(hdcScr);
                cx=GetSystemMetrics(SM_CXSCREEN);
                cy=GetSystemMetrics(SM_CYSCREEN);
                hBitmap=CreateCompatibleBitmap(hdcScr,cx,cy);
               
                SelectObject(hdcMem,hBitmap);

                //把整个屏幕的图像拷贝到内存设备的位图中.
                BitBlt(hdcMem,0,0,cx,cy,hdcScr,0,0,SRCCOPY);
               

                //把图片转化为设备无关位图,并且存在指定文件中
                DDB2DIB(hBitmap,hdcMem,lpCmdLine);

                DeleteDC(hdcMem);
                ReleaseDC(hwnd,hdcScr);
                DeleteObject(hBitmap);
                LockWindowUpdate(NULL);
        }

1

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2007-9-13 18:45:00 | 显示全部楼层

Re:我想做一个后台程序,将屏幕翻转180度

全屏输出处理后的图像即可

9

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
 楼主| 发表于 2007-9-13 19:05:00 | 显示全部楼层

Re:我想做一个后台程序,将屏幕翻转180度

谢谢 hljgameres2

我的这个问题是一个项目引申出来的,是该项目的需要解决的第一个技术问题

你的这个方案我也考虑过,但担心其效率低,而且在处理DirectX程序时可能失效

我也考虑使用GPU处理,但还没有明确的方案

9

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
 楼主| 发表于 2007-9-13 19:06:00 | 显示全部楼层

Re: Re: 我想做一个后台程序,将屏幕翻转180度

ccy_222: Re: 我想做一个后台程序,将屏幕翻转180度

OSFG:
很简单啊~你先把屏幕渲染到一个纹理。在把纹理坐标翻转180出来的就是了。就是把UV反转就行了

请...


有人能帮忙解释一下吗

9

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
 楼主| 发表于 2007-9-13 19:08:00 | 显示全部楼层

Re: Re: 我想做一个后台程序,将屏幕翻转180度

Re: 我想做一个后台程序,将屏幕翻转180度

OSFG:
很简单啊~你先把屏幕渲染到一个纹理。在把纹理坐标翻转180出来的就是了。就是把UV反转就行了

请问:怎么把屏幕渲染到纹理呢?

kypck:
纹理,backbuffer都出来了。。。
研究下DDK,这重事情在DDI层最容易做不过了。(事实上所有vendor的driver都支持此功能)

请问:backbuffer,所有的界面显示都会通过同一个backbuffer吗,还有,如果用DDK做的话怎样同时搞定GDI和directX呢

instemast:
通常的windows程序都是GDI,里面没有backbuffer,你怎么做?

这也正是我关心的,如何同时搞定GDI和DirectX???????


请高手们帮忙解释一下啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-21 18:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表