假设用户开启了设置里的屏幕旋转,Android中处理横竖屏切换,通常的做法是在AndroidManifestxml中定义android:configChanges="orientation|keyboardHidden。然后在重写onOrientationChanged方法,例如以下:
if (thisgetResources()getConfiguration()orientation == ConfigurationORIENTATION_LANDSCAPE) {
Logi("info", "landscape"); // 横屏
} else if (thisgetResources()getConfiguration()orientation == ConfigurationORIENTATION_PORTRAIT) {
Logi("info", "portrait"); // 竖屏
}
假设用户在设置里禁止了屏幕旋转,怎么在应用中获取手机的方向呢?我们能够用OrientationEventListener(方向事件监听器),是一个当方向发生变化时,从SensorManager(传感器管理程序)接收通知的辅助类
XY就是从1到宽度,从1到高度,RGB值通过QImage::pixel获取,取得的值转为QColor,就能分别取到RBG了。
~如果你认可我的回答,请及时点击采纳为满意回答按钮
~~手机提问的朋友在客户端右上角评价点满意即可。
~你的采纳是我前进的动力
~~O(∩_∩)O,记得好评和采纳,互相帮助,谢谢。
把这个程序运行下字符终端下到分辨率就出来了。
#include <stdioh>
#include <sys/typesh>
#include <sys/stath>
#include <fcntlh>
#include <linux/fbh>
#include <sys/mmanh>
#include <mathh>
int w,h ,bpp;
int fbmem;
int main(int argc , char argv[])
{
int fd;
struct fb_var_screeninfo fb_var;
fd = open("/dev/fb0",O_RDWR);
//
//screen w , h , bpp
//get screen information
ioctl (fd,FBIOGET_VSCREENINFO,&fb_var);
w = fb_varxres;
h = fb_varyres;
bpp = fb_varbits_per_pixel;
printf ("Framebuffer %d%d-%dbpp\n",w,h,bpp);
//fbmem = Framebuffer address
fbmem = mmap (0,whbpp/8,PROT_WRITE|PROT_READ,
MAP_SHARED,fd,0);
//y = 10,x = 200, color = 0xF800;
return 0;
}
如有问题联系我!
function getRandomString($len, $chars=null)
{
if (is_null($chars)) {
$chars = "abcdefghijklmnopqrstuvwxyz";
}
mt_srand(10000000(double)microtime()); //mt_srand
for ($i = 0, $str = '', $lc = strlen($chars)-1; $i < $len; $i++) {
$str = $chars[mt_rand(0, $lc)];
}
return $str;
}
以上就是关于qt手机中的实时方向信息如何获得的全部的内容,包括:qt手机中的实时方向信息如何获得的、Qt里面怎么获取图像像素、请问,linux下C/C++怎么获取屏幕分辨率(不使用Qt和GTK)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)