Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2010, 12:31   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Проблема с графическим выводом текста

Вот, что получаю:

Вот, что внутри:
Код:
UNTGraph.DrawText('ДЖАСТ ФО ГРЕЙТ ЛУЛЗ' ,50, 50);
Код:
Procedure LoadFontA;
   Var
    I : Integer;
   Begin
   For I := $20 To $DF Do
     If UNTService.FileExists(CurDir + '\Fonts\' + DecToHex(I) + '.ftf') Then
      LoadFromFile(Warehouse.ASCII[I], PChar(CurDir + '\Fonts\' + DecToHex(I) + '.ftf'));
   End;
DecToHex дает правильные значения. LoaFromFile многократно проверена и работает. Файлы есть.
Код:
 Procedure DrawText(Str : String; X, Y : Integer);
 Var
  I : Integer;
  DX : Integer;
  Loc     : HDC;
 Begin
  Loc := CreateCompatibleDC(Warehouse.Buffer.DC);
  DX := 0;
  For I := 1 To Length(Str) Do
   Begin
    SelectObject(Loc, Warehouse.ASCII[Ord(Str[I])].Bitmap);
    Inc(DX, Warehouse.ASCII[Ord(Str[I])].Width + 1);
    TransparentBlt(Warehouse.Buffer.DC,
                   X + DX,
                   Y,
                   Warehouse.ASCII[Ord(Str[I])].Width,
                   Warehouse.ASCII[Ord(Str[I])].Height,
                   Loc,
                   0,
                   0,
                   Warehouse.ASCII[Ord(Str[I])].Width,
                   Warehouse.ASCII[Ord(Str[I])].Height,
                   $FF00FF);

   End;
  DeleteDC(Loc);
 End;
В чем же причина?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 27.07.2010, 13:07   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Локализовал проблему:
Если писать
Код:
UNTGraph.DrawText(Chr($C7) + Chr($C6) ,50, 50);
То выводит "ЗЖ", т.е. то, что надо.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с выводом данных в С++ justso Помощь студентам 3 19.05.2010 11:04
Проблема с выводом текста. Visual C++ SeeWhoIam Общие вопросы C/C++ 0 23.03.2010 20:42
Проблема с выводом на экран NeveX Общие вопросы .NET 3 20.12.2009 13:57
Проблема с графическим редактором.Delphi Scabby Помощь студентам 3 27.10.2009 21:16
Проблема с выводом текста limon PHP 6 30.11.2008 20:03