Има ли някаква възможност да се уголеми размера на шрифта при принтиране на String/Char на Console?


1

Здравейте колеги,

Опитвам се да намеря начин да увелича шрифта при принтиране на String/Char на Console, но уви единственото което намирам е доста сложно (неразбираемо за мен) и не мога да го подкарам. Въпроса ми е дали някои знае как това би могло да се случи?




Отговори



1
На конзолата в левия горен ъгъл има една иконка на конзола, кликни върху нея с десен бутон и кликни properties. От там можеш да променяш размера на шрифта

от Beardhammer (285 точки)


1
Да, това е ясно. Става дума за екипната работа и при разработването на играта имаме нужда от по-голям шрифт само на места (като заглавия и т.н.). Не искаме да е настройка на Console, нещо като метод или подобно на форматирането предполагам... Нямам идея..

от Nayata (3190 точки)


1

Здравей, 

от нещата които прочетох набързо бих ти препоръчала да погледнеш тези:

http://stackoverflow.com/questions/6554536/possible-to-get-set-console-font-size-in-c-sharp-net

http://blogs.microsoft.co.il/pavely/2009/07/23/changing-console-fonts/

Все пак си мисля, че няма да стане много лесно. Защо не се спрете на промяна на цвета ?
http://www.dotnetperls.com/console-color


от Mirka (1454 точки)


1
Да, и аз имено тези гледах, когато се рових в нета. Но ми е доста непонятна материята и не успявам да го пригодя към кода, така че да работи кректно. Благодаря все пак :) Относно цветовете за ForegroundColor i BackgroundColor вече сме ползвали тази функционалност :)

от Nayata (3190 точки)


2

ASCII Generator може да ви свърши работа.

Успех с играта! :)

 

от IlianaB (1137 точки)


1
Йееее много готино ще го тестваме задължително. Благодаря ти :)

от Nayata (3190 точки)


4

Ако бъркаш по-надълбоко в конзолата, ще разбереш, че е едно доста странно/примитивно/мощно животно. Конзолата е базов, текстов интерфейс, на който главната му цел е комуникация чрез команди/текстови инструкции. Конзолата няма за приоритет форматиране на текста (макар, че го поддържа в малка степен). Това, което искаш - само на места различен размер на шрифта - е невъзможно за конзолата на Windows/DOS. Конзолата работи с т. нар. screen buffer, който представлява 2-мерна структура от еднакви по размер символни клетки (или растер ако щеш).

Ако въпросът е изобщо за програмно променяне на размера на шрифта (не ръчно от графичния интерфейс) - да, възможно е... Но C# не предлага изведени методи за това - това е управление на малко по-ниско ниво и се постига с т. нар. API-та  - това е програмният интерфейс на един софтуер. За да го използваш, трябва да прочетеш изискванията за структурите/функциите, които се поддържат; да правиш заявки към експортирани API функции (в случая за конзолата функциите се "крият" в кърнъл библиотеката на Windows); да заредиш в паметта на процеса нужните библиотеки и т.н... (а в някои случаи ще ти се наложи дори да използваш недокументирани API функции...)

По-добре не се занимавай с подобни глупости - не всичко от това работи, а понякога това, което работи, не работи коректно.

Все пак, ако толкова ти се налага разлика в шрифта, можеш да прибегнеш към псевдо-графиката/псевдо-шрифта - един символ/буква ти заема няколко реда и колони. Това обаче го прави доста по-голям от останалите, така че може и да не те удовлетвори.

ПП. Ако ти трябва готов код, търси за "Console API Functions", а за псевдо-графиката - там си (общо взето) на самообслужване.


от Zenix (628 точки)


1
Много изчерпателна и полезна информация. Безкрайно много ти благодаря за безцените съвети. Може би на този етап ще оставим тази идея. Мерси :)

от Nayata (3190 точки)