Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C++;? 我编写了一个C++工具,用块字符和4位着色显示控制台中图像的低分辨率预览。 为了以正确的纵横比显示图像,我需要在控制台中计算单空格字体字符的宽度和高度_C++_Linux_Console_Character_Font Size - Fatal编程技术网

如何使用C++;? 我编写了一个C++工具,用块字符和4位着色显示控制台中图像的低分辨率预览。 为了以正确的纵横比显示图像,我需要在控制台中计算单空格字体字符的宽度和高度

如何使用C++;? 我编写了一个C++工具,用块字符和4位着色显示控制台中图像的低分辨率预览。 为了以正确的纵横比显示图像,我需要在控制台中计算单空格字体字符的宽度和高度,c++,linux,console,character,font-size,C++,Linux,Console,Character,Font Size,对于Windows,我找到了以下解决方案: CONSOLE\u FONT\u INFO cfi; GetCurrentConsoleFont(GetStdHandle(标准输出句柄)、false和cfi); int宽度=(int)(cfi.dwFontSize.X); int高度=(int)(cfi.dwFontSize.Y); 然而,对于Linux,我在任何地方都找不到解决方案。到目前为止我已经试过了 struct winsize w; ioctl(文件号(stdout)、TIOCGWINS

对于Windows,我找到了以下解决方案:

CONSOLE\u FONT\u INFO cfi;
GetCurrentConsoleFont(GetStdHandle(标准输出句柄)、false和cfi);
int宽度=(int)(cfi.dwFontSize.X);
int高度=(int)(cfi.dwFontSize.Y);
然而,对于Linux,我在任何地方都找不到解决方案。到目前为止我已经试过了

struct winsize w;
ioctl(文件号(stdout)、TIOCGWINSZ和w);
int宽度=(int)(w.ws_xpixel/w.ws_col);
int高度=(int)(w.ws_-ypixel/w.ws_行);
但这会返回
width=0
height=0
,因为
w.ws\u xpixel
w.ws\u ypixel
都是
0

那么,如何在Linux中获得字符宽度和高度,最好不使用外部库


您可以先在ncurses上试用。如果您找到了一种方法,您可以检查是否找到了删除ncurses的方法。您可以首先尝试使用ncurses。如果您找到了一种方法,您可以检查是否找到了删除ncurses的方法。