Я пишу Image Viewer в C # .NET для консоли.Моя проблема в том, что символы шрифта консоли не являются квадратами.И я воспринимаю их как пиксели, это растягивает изображения при отображении на экране.
Я хочу как-то прочитать информацию о шрифте для используемого в настоящее время шрифта со свойствами width
, height
и т. Д..
Я нашел этот ответ , но, похоже, он просто перечисляет все доступные на данный момент шрифты.
Я поиграл с этим кодом:
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct ConsoleFont
{
public uint Index;
public short SizeX, SizeY;
}
[DllImport("kernel32")]
private static extern bool GetConsoleFontInfo(IntPtr hOutput, [MarshalAs(UnmanagedType.Bool)]bool bMaximize, uint count, [MarshalAs(UnmanagedType.LPArray), Out] ConsoleFont[] fonts);
Это не вернуло определенный шрифт, используемый в текущем окне консоли.
Я все еще хочу использовать что-то вроде структуры ConsoleFont
для хранения свойств шрифта.Но GetConsoleFontInfo(...)
не делает это, как сказано ...
Пожалуйста, если кто-то знает, как это сделать, скажите мне:)