Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как выводить текст в DirectX C# 
:(
    Опции темы
drdoom
Дата 25.1.2009, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 29.1.2008
Где: Саратов

Репутация: 1
Всего: 1



Есть проблема не могу вывести текст в девайс  директ икса
PM MAIL ICQ   Вверх
EgoBrain
Дата 27.1.2009, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



Цитата(drdoom @ 25.1.2009,  14:18)
Есть проблема не могу вывести текст в девайс  директ икса

Такого термина как "вывод текста в устройство" нет в компьютерной графики. Скажите что именно необходимо сделать или в чем проблема. Я знаю два варианта: вывод двухмерного текста в экранных координатах или вывод 3-Д текста в пространстве:
Код

...
Microsoft.DirectX.Direct3D.Font font = null;
Mesh textMesh = null;
font = new Microsoft.DirectX.Direct3D.Font(device, new System.Drawing.Font(..., ..., ...));
textMesh = Mesh.TextFromFont(device, new System.Drawing.Font(..., ..., ...), "3-D TEXT", 0.001f, 0.4f);
...
textMesh.DrawSubset(0); //Рисовать 3-Д текст
font.DrawText(null, "2-D TEXT", new Rectangle(x, y, this.Width, this.Height), DrawTextFormat.NoClip | //Рисовать 2-Д текст
                DrawTextFormat.ExpandTabs | DrawTextFormat.WordBreak, Color.Black);
...

PM MAIL ICQ Skype   Вверх
drdoom
Дата 28.1.2009, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 29.1.2008
Где: Саратов

Репутация: 1
Всего: 1



текст вывел, но чет не понял как поменять ему размер, изменение размера фонта ниче не дало, и еще вопрос как в пространстве его размещать в любом месте, он в центре координат исключительно рисуется? это я о3D тексте. Заранее спасибо

Это сообщение отредактировал(а) drdoom - 28.1.2009, 14:55
PM MAIL ICQ   Вверх
EgoBrain
Дата 29.1.2009, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



Цитата(drdoom @ 28.1.2009,  14:15)
текст вывел, но чет не понял как поменять ему размер, изменение размера фонта ниче не дало, и еще вопрос как в пространстве его размещать в любом месте, он в центре координат исключительно рисуется? это я о3D тексте. Заранее спасибо

Вообще 3-Д текст - это ж мех-объект, значит поддается всем правилам мех. Напиши специальную функцию для рисования 3-Д текста для удобства программирования, как это советует Том Миллер, только я чутка доработал:
Код

private void Draw3DText(float roll, float pitch, float yaw, float x, float y, float z, float xscale, float yscale, float zscale)
        {
            device.Transform.World = device.Transform.World = Matrix.RotationYawPitchRoll(yaw, pitch, roll) *
                 Matrix.Scaling(xScaling, yScaling, zScaling) * Matrix.Translation(x, y, z);
            device.Material = meshMaterial;
            mesh.DrawSubset(0);
        }

Просто в аргументах задаешь вращения вокруг осей, положение в системе и масштабирование, можешь по желанию кучу всего добавить, например, настройки материала, и каждый новый раз как тебе необходимо нарисовать текст - просто вызываешь функцию.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0521 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.