Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Зеркальный вывод текста [D5, Win95/98, WinME]


sergn ©   (2003-10-02 21:25:00) 

Как зеркально(задом на перед) вывести текст с помощью TextOut под Win98?


Mihey   (2003-10-03 16:48:00) [1]

> Так как на Handle принтера будет выводиться не качественно.
Удалять надо такие решение. Есть изображение и есть куча способов распечатать его качественно.


MBo   (2003-10-03 15:29:00) [2]

>sergn
Через битмап лучше - по кривым сложнее и дольше, а антиалиасинг все равно пропадет.


sergn   (2003-10-03 14:41:00) [3]

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


MBo   (2003-10-03 12:46:00) [4]

Под 98 - сменой коорд. системы - нельзя.


sergn   (2003-10-03 12:38:00) [5]

Нужно именно зеркально.
Через битмап не подходит. Так как на Handle принтера будет выводиться не качественно.
Я думаю есть какая-то возможность именно через TextOut, если
перед этим применить некоторую комбинацию функций:
SetWindowExt, SetViewPortExt,SetWindowOrg, SetViewPortOrg.
Может кто-нибудь сталкивался с подобной ситуацией?


Mihey   (2003-10-02 22:41:00) [6]

Так, собственно говоря, в первом случаю следует сделать TextOut на некоторое созданное в памяти изображение TBitmap, после чего перевернуть, используя простую процедурку вот тут вот:

http://delphibase.endimus.ru/?action=viewfunc&topic=mediaimg&id=10266

Затем, выводим изображение, как будто это текст.

Во втором случае надо просто подготовить выводимую строку, например, так:

var s1, s2: string;
i: integer;
s1 := ...;
for i := 1 to Length(s1) do
s2[Length(s1)-i+1] := s1[i];
TextOut(x, y, s2);


Mihey   (2003-10-02 22:34:00) [7]

Не думаю, что это возможно вот так вот просто при помощи TextOut. Ты уточни - зеркально (текст как в зеркале) или задом наперёд (буквы повёрнуты правильно, но просто порядок их с конца идёт)?


Наверх

Титульная страница Поиск, карта сайта Написать письмо