Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
.NET 4.x

Вывод кириллических символов в Bitmap

06.12.2012, 20:23. Показов 2270. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создаю таблицу из 256 символов и рисую её в Bitmap. Да вот надо, чтобы после 127-го шёл русский набор символов. Шрифту ставлю чарсет русский, но выводится чёрти что. Когда кодирую выводимую строку с помощью Encoding.GetEncoding(1251), получаю вопросительные знаки. Пробовала и локал ставить, и в настройках среды ковыряться, но решения не нашла. Подскажите, если кто знает.

Кусок кода, где рисуются символы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Bitmap tmp = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
            Graphics graphicSymbols = Graphics.FromImage(tmp);
 
            char[] ASCIITable = new char[count];
            
            for (int i = 0; i < count; ++i)
            {
                ASCIITable[i] = (char)i;
                drawPoint.X = i % 32 * x;
                drawPoint.Y = i / 32 * y;
                GraphicSymbols.DrawString(ASCIITable[i].ToString(), drawFont, drawBrush, drawPoint);
            }
            tmp.Save("SymbolTable.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
            SymbolTable.Source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
                tmp.GetHbitmap(), IntPtr.Zero, System.Windows.Int32Rect.Empty, 
                BitmapSizeOptions.FromWidthAndHeight(width, height));
            
            graphicSymbols.Dispose();
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2012, 20:23
Ответы с готовыми решениями:

Как создать bitmap из области (по координатам пикселей) другого bitmap
Здравствуйте. Подскажите пожалуйста как создать bitmap из области(по координатам пикселей) другого bitmap. Вообщем обрезать.

Нарисовать прошлый Bitmap на новом так, чтобы небыл растянут рисунок, если новый Bitmap больше размером
Короче пытался сделать такое дело: Рисую фигуры на форме, когда отпускаю левую кнопку мыши (когда кнопка зажата, то растягивается например...

Вывод кириллических символов из строки
Печатаю текст на русском языке и вывожу его в Label - все работает. Buf:=Edit1.Text; Label1.Caption:=Buf; Пытаюсь работать с...

6
34 / 41 / 5
Регистрация: 07.09.2011
Сообщений: 108
07.12.2012, 16:07
Я делал так:

C#
1
2
3
4
5
6
string symbol = string.Empty;
for (byte i = 0; i <= 255; i++)
{
    symbol = Encoding.Default.GetString(new byte[] { i });
    // а дальше делаешь с символом, что необходимо
}
0
 Аватар для Doomer3D
180 / 180 / 32
Регистрация: 23.11.2012
Сообщений: 344
Записей в блоге: 1
07.12.2012, 19:12
а drawFont где создается?
0
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
07.12.2012, 23:45  [ТС]
Graf_Nosferatu, я попробовала ваш способ, но результат не изменился:
C#
1
ASCIITable = System.Text.Encoding.Default.GetString(new byte[] { (byte)i });
Вот посмотрите что у меня получается.
Изображения
 
0
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
07.12.2012, 23:54  [ТС]
Doomer3D, я вызываю FontDialog либо прямо гружу шрифт из файла. Например, если создаю FontDialog fontDlg, то drawFont = fontDlg.Font. Использую в основном стандартные виндовские, которые кириллицу поддерживают. Что ж не так?
0
34 / 41 / 5
Регистрация: 07.09.2011
Сообщений: 108
10.12.2012, 12:59
А если так попробовать:

C#
1
2
3
4
5
6
string symbol = string.Empty;
for (int i = 0; i < 255; i++)
{
    Encoding enc = Encoding.GetEncoding(1251);
    symbol = enc.GetString(new byte[] { (byte)i });
}
0
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
10.12.2012, 23:15  [ТС]
Graf_Nosferatu, это действительно то, что нужно! Благодарю. Я когда задавала вопрос, упоминала про Encoding.GetEncoding(1251), и что в итоге выводились вопросительные знаки.
Спасибо, что разобрались.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2012, 23:15
Помогаю со студенческими работами здесь

Корректный вывод кириллических символов
У меня есть бан лист для Minecraft(не мой, америкоса)! Как сделать чтобы он выводил русские буквы? Сам Код! &lt;!DOCTYPE html&gt; ...

Краозябры кириллических символов в БД
Копался на форумах, но не смог найти нормальный ответ на этот вопрос. Вот таким вот образом я добавляю запись в БД: ...

Поддержка кириллических символов
Привет! Программа выводит буквы алфавита пирамидкой. С латиницей все работает, но если поменять на кириллицу, срабатывает проверка...

Отображение кириллических символов из файла
Доброго времени суток, уважаемые форумчане! У меня возник небольшой вопрос. Мне надо прочитать текст с кириллическими символами из...

Некоректное считывание кириллических символов
Здравствуйте. Вот в такой функции: std::vector&lt;std::string&gt; CreateFileList(std::string p, std::vector&lt;std::string&gt;&amp;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru