c语言怎样控制键盘的方向键,c++怎么获取键盘的方向键

c++怎么获取键盘的方向键0

02ae427d08e371d7e90d5b995e828d6d.pnghgr749422013.01.25浏览104次分享举报

c++怎么获取键盘的方向键一下代码试了,但ch第一次就读的是第二个ascii码,进不了第一个if,打印的也是第二个ascii码对应的符号while(1){ch=getch();if(ch==224){ch=getch();switch(c... c++怎么获取键盘的方向键一下代码试了,但ch第一次就读的是第二个ascii码,进不了第一个if,打印的也是第二个ascii码对应的符号

while(1)

{

ch = getch();

if(ch == 224)

{

ch = getch();

switch(ch)

{

case 72://Up

break;

case 80: //down

break;

case 75://left

break;

case 77://right

break;

default:

break;

}//end switch

}

试过用GetAsyncKeyState,但输入方向键后,再想用getch读之后输入的键盘按键,再用图形化界面打印出来,却一直循环打印那个方向键第二个ascii码对应的符号,然后出错 展开

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要借助 OpenCV 实现按键控制快进一帧,需要使用 OpenCV 中提供的 `cv::waitKey` 函数来监听键盘事件,并根据按键的不同做出相应的操作。以下是实现方式: ```c++ #include <opencv2/opencv.hpp> int main() { cv::VideoCapture cap("video.mp4"); // 打开视频文件 if(!cap.isOpened()) // 检查视频是否成功打开 return -1; cv::Mat frame; while(cap.read(frame)) // 循环读取视频帧 { cv::imshow("Video", frame); // 显示当前帧 // 等待键盘输入,等待时间为 1 毫秒 int key = cv::waitKey(1); switch(key) // 根据按键不同执行相应操作 { case ' ': // 按下空格键,暂停播放 cv::waitKey(0); // 等待键盘输入,直到按下任意键 break; case 83: // 按下方向键右,快进一帧 cap.read(frame); cv::imshow("Video", frame); break; default: break; } } cap.release(); // 释放资源 cv::destroyAllWindows(); // 关闭所有窗口 return 0; } ``` 在上述代码中,`cv::waitKey` 函数等待键盘输入,并返回按键所对应的 ASCII 码。为了快进一帧,只需要在读取当前帧后再读取下一帧即可。在默认情况下,`cv::waitKey` 函数等待事件的时间为 0,即会立即返回。如果需要等待一段时间后再返回,可以传入相应的毫秒数作为参数。 请注意,在 Windows 系统下,方向键的 ASCII 码和 Linux 系统下不同,需要根据具体情况调整代码。此外,在使用 OpenCV 播放视频时,需要在循环内不断读取下一帧。如果视频已经播放到结尾,`cap.read` 函数会返回 false。此时循环结束,需要手动释放资源并关闭窗口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值