linux 获取屏幕分辨率 - CSDN
  • linux获取当前屏幕分辨率

    千次阅读 2017-09-08 22:40:34
    首先需要更改屏幕文件fb0权限,以供用户打开终端命令行输入:chmod 0777 /dev/fb0 vi 新建一个.c文件

    首先需要更改屏幕文件fb0权限,以供用户打开

    终端命令行输入:

    chmod 0777 /dev/fb0
    

    vi 新建一个.c文件

    #include<stdio.h>
    #include<sys/types.h>
    #include<sys/stat.h>
    #include<sys/mman.h>
    #include<sys/ioctl.h>
    #include<unistd.h>
    #include<fcntl.h>
    #include<linux/fb.h>
    
    int main(int argc,char *argv[]){
        int fd;
        struct fb_var_screeninfo screen_info;
        fd = open("/dev/fb0",O_RDWR);
        ioctl(fd,FBIOGET_VSCREENINFO,&screen_info);
        printf("%d*%d\n",screen_info.xres,screen_info.yres);
        close(fd);
        return 0;
    }

    运行即可

    以上代码通过打开/dev/fb0,利用ioctl系统调用获取屏幕属性信息存放在结构体变量screen_info中,xres和yres则分别是结构体fb_var_screeninfo中屏幕的横向纵向分辨率信息。而Framebuffer(fb)是用一个视频输出设备从包含完整的帧数据的一个内存缓冲区中来驱动的一个视频显示设备,而宏定义FBIOGET_VSCREENINFO则是让ioctl系统调用能从Framebuffer中获取相应的显示设备信息,宏定义的详情在/usr/include/linux/fb.h里。

    通常得到800,600不一定是当前屏幕的分辨率,是默认的屏幕分辨率。

    展开全文
  • 在Windows下可以使用GetSystemMetrics(SM_CXSCREEN);...在Linux下可以使用XDisplayWidth;XDisplayHeight()获取。在QT中呢?网上很多人说是QApplication::desktop()->width();QApplication::desk...
     

    在Windows下可以使用GetSystemMetrics(SM_CXSCREEN);GetSystemMetrics(SM_CYSCREEN) 获取。

    在Linux下可以使用XDisplayWidth ;XDisplayHeight ()获取。
    在QT中呢?网上很多人说是QApplication::desktop()->width();QApplication::desktop()->height(); 这个方法对于单显示器模式当然没有问题。但是对于多显示器,特别是使用了扩展桌面的就会有问题了。今天上午仔细看了QDesktopWidget的帮助,需要使用QApplication::desktop()->screenGeometry();这个函数有好几个重载的版本,意思都一样。该函数返回一个QRect,这个QRect的宽和高就是所在Screen的分辨率。

    转载于:https://www.cnblogs.com/lvdongjie/p/4153141.html

    展开全文
  • Linux命令行(console)屏幕分辨率调整

    万次阅读 2014-11-29 23:57:20
    在root用户模式下,输入$ vi /boot/grub/grub.conf(路径可能会不一样,也可以是 /etc/grub.conf),打开grub.conf文件  grub是系统启动器之一,用来存放启动项设置和信息,修改的时候必须特别小心,否则...

    在root用户模式下,输入$ vi /boot/grub/grub.conf(路径可能会不一样,也可以是 /etc/grub.conf),打开grub.conf文件


     grub是系统启动器之一,用来存放启动项设置和信息,修改的时候必须特别小心,否则系统会瘫痪掉~~

             下面简单介绍一下:

            文件里面一大段的注解,主要是说明了一些情况,英文好的看看就能理解了。

           default=0 :菜单项,0表示第一项,如果是多系统可以修改此项改变默认光标停留位置;

            timeout=5 :菜单到自动启动系统前的提留时间,可根据需要修改;

            splashimage=······ : 启动菜单背景图表,可根据需要修改;

            title······ :启动项名称,可根据需要修改;

            kernel······ :一些版本信息和root路径;

            rhgb :redhat graphics boot,就是会看到图片来代替启动过程中显示的文本信息,这些信息在启动后用dmesg也可以看到

            quiet : 在启动过程中只有重要信息显示,类似硬件自检的消息不回显示

            我们修改分辨率,需要在kernel那行加入 vga=791

    wKiom1R5k7LARDHOAAKH3b3g62o767.jpg

     注意:vga的参数不是随便输入的,可以根据需要进行修改,我的电脑上面最高只有16位,24位的参数不能生效,因此选择 vga=791。

    wKioL1R5lE2S0wbCAAD2NnWsg38215.jpg

      rhgb quiet 可以删除也可以保留,看自己喜欢。完成设置后,需要reboot系统,然后可以看到分辨率变大了,看上去舒服很多~~~~

    展开全文
  • 获取当前分辨率 #include<stdio.h> #include<sys/types.h> #include<sys/stat.h> #include<sys/mman.h> #include<sys/ioctl.h> #include<unistd.h> #include&...

    获取当前分辨率

    #include<stdio.h>
    #include<sys/types.h>
    #include<sys/stat.h>
    #include<sys/mman.h>
    #include<sys/ioctl.h>
    #include<unistd.h>
    #include<fcntl.h>
    #include<linux/fb.h>
    
    int main(int argc,char *argv[]){
        int fd;                                                                              
        struct fb_var_screeninfo screen_info;
        fd = open("/dev/fb0",O_RDWR);
        ioctl(fd,FBIOGET_VSCREENINFO,&screen_info);
        printf("%d*%d\n",screen_info.xres,screen_info.yres);
        close(fd);
        return 0;
    }
    

    结果:

    root@cocktail:~# vim screen_xy.c 
    root@cocktail:~# ./screen_xy 
    1152*864
    root@cocktail:~# 
    

    获取当前窗口大小

    这里大小指的是一个满屏幕的窗口,按照当前字体大小所能显示的字体的行数与列数。
    如果调整字体大小,结果会根据字体大小变化。这一结论在ssh工具界面也适用。

    #include<stdio.h>
    #include<stdlib.h>
    #include<sys/ioctl.h>
    #include<termios.h>
    #include<signal.h>
    #include<unistd.h>
    
    int main(int argc,char *argv[]){                                                         
        struct winsize info;
        ioctl(STDIN_FILENO,TIOCGWINSZ,&info);
        printf("当前终端为%d行%d列\n",info.ws_row,info.ws_col);
        return 0;
    }
    

    结论:

    root@cocktail:~# vim screen_wc.c 
    root@cocktail:~# ./screen_wc
    当前终端为23行89列
    root@cocktail:~# 
    

    转载于:https://www.cnblogs.com/sinpo828/p/10678945.html

    展开全文
  • linux c 获取屏幕分辨率程序

    千次阅读 2016-03-08 16:28:25
    把这个程序运行下字符终端下到分辨率就出来了。 #include #include #include #include #include #include #include int w,h ,bpp; int *fbmem; int main(int argc , char *argv[]) { int ...
  • Python获取屏幕分辨率大小

    万次阅读 2017-08-02 13:46:50
    Python获取屏幕分辨率大小
  • python获取当前屏幕分辨率

    千次阅读 2019-10-02 19:55:47
    import tkinter screen = tkinter.Tk() x = screen.winfo_screenwidth() #获取当前屏幕的宽 y = screen.winfo_screenheight() #获取当前屏幕的高 print(x,y) del win
  • Selenium+Python 获取屏幕分辨率

    千次阅读 2018-03-08 10:14:32
    脚本思路:通过js获取当前的屏幕分辨率并将当前分辨率已警告框的形式在页面显示,通过 switch_to_alert().text将分辨率拿到,既而可以进行下一步操作!#coding=utf-8 from selenium import webdriver import time #...
  • java下获取屏幕分辨率

    千次阅读 2011-10-08 11:21:07
    import java.awt.*; public class GetScreenSize {  public static void main(String[] str)  {  Toolkit toolkit = Toolkit.getDe
  • Linux命令行屏幕分辨率(console resolution)调整(2010-07-23 16:26:13)转载 在grub.conf(Debian或Ubuntu下是menu.lst)文件的kernel /vmlinuz-2.6.11-EL roroot=LABEL=/
  • 原文地址:... 1,在Windows下可以使用GetSystemMetrics(SM_CXSCREEN);GetSystemMetrics(SM_CYSCREEN)获取。 2,在Linux下可以使用XDisplayWidth;XDisplayHeight()获取。 3,在QT中呢?很多
  • 1,在Windows下可以使用 GetSystemMetrics(SM_CXSCREEN...2,在Linux下可以使用XDisplayWidth ;XDisplayHeight ()获取。 3,在QT中呢?很多人说是 QApplication::desktop()-&gt;width();QApplication::deskto...
  • Qt 获取系统屏幕分辨率

    千次阅读 2017-06-23 14:36:02
    1、在Windows API下可以使用 GetSystemMetrics(SM_CXSCREEN);...2、在Linux X11下可以使用XDisplayWidth() ;XDisplayHeight ()获取。 3、在QT中,很多人说是 QApplication::desktop()->width();QApplicatio
  • Qt中获取屏幕分辨率

    2012-07-13 09:59:21
    ---------------以下识别屏幕分辨率---------------------- QDesktopWidget *d=QApplication::desktop(); int width=d->width(); //屏幕的宽度 int height=d->height(); //屏幕的高度 判断屏幕切换可以用...
  • 1 QDesktopWidget *deskTop = QAppliction::desktop() ; 2 int width = deskTop->width(); 3 int height = deskTop->height(); 转载于:https://www.cnblogs.com/jiangson/p/7660953.html
  • ...This is what I tried: <pre><code>var desktop sdl.DisplayMode sdl.GetDesktopDisplayMode(0, &desktop) mainwindow := sdl.CreateWindow("Test...<p>Platform is x86_64 Linux using the X-server. </div>
  • 最近在Linux下修改屏幕分辨率的时候,发现了一个非常有用的命令:xrandr 使用这个命令,可以方便的设置您显示器的的分辨率。尤其是当你使用了一些需要或者会自动改动您屏幕分辨率的程序以后。 您可以使用如下命令...
  • linux下,经常需要设置程序全屏显示,GTK+中提供了获取屏幕分辨率的方式,然后只要根据得到的宽高设置窗口显示大小,同时使用gtk_window_set_decorated去掉边框和标题栏显示,就能实现相应的效果了。 下面程序,...
1 2 3 4 5 ... 20
收藏数 7,714
精华内容 3,085
热门标签
关键字:

linux 获取屏幕分辨率