如何使用C++;? 我编写了一个C++工具,用块字符和4位着色显示控制台中图像的低分辨率预览。 为了以正确的纵横比显示图像,我需要在控制台中计算单空格字体字符的宽度和高度
对于Windows,我找到了以下解决方案:如何使用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
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的方法。