![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Зеркальный вывод текста [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. Ты уточни - зеркально (текст как в зеркале) или задом наперёд (буквы повёрнуты правильно, но просто порядок их с конца идёт)?