реклама на сайте
подробности

 
 
> Как от зеркалить текст, вопрос к программистам
Yuri Potapoff
сообщение Oct 7 2006, 17:53
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 752
Регистрация: 10-11-04
Из: Железнодорожный
Пользователь №: 1 093



Тему создаю здесь, почему, поймете ниже.

Проблема в следующем: необходимо найти готовую функцию зеркального отображения TrueType шрифта в приложении Windows.

При разработке очередного модуля программы Schemagee, мы столкнулись с проблемой, что в стандартном наборе функций Windows отсутствует функция зеркального отображения шрифтов. Именно поэтому пикад долго не мог правильно отображать надписи при флипе. Фирме потребовалось 10 лет, чтобы написать эту функцию. Нам хотелось бы решить проблему несколько быстрее.

Может ли кто-либо помочь и дать совет, где можно найти эту функцию готовой? Или ссылку на людей. кто может помочь ее грамотно реализовать.

В противном случае функцию придется писать самим.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
svz
сообщение Oct 8 2006, 11:24
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 22-02-05
Из: СПб
Пользователь №: 2 812



Цитата(Yuri Potapoff @ Oct 7 2006, 21:53) *
Проблема в следующем: необходимо найти готовую функцию зеркального отображения TrueType шрифта в приложении Windows.

При разработке очередного модуля программы Schemagee, мы столкнулись с проблемой, что в стандартном наборе функций Windows отсутствует функция зеркального отображения шрифтов. Именно поэтому пикад долго не мог правильно отображать надписи при флипе. Фирме потребовалось 10 лет, чтобы написать эту функцию. Нам хотелось бы решить проблему несколько быстрее.

Хе, мы это уже проходили (в ТопоРе). cheers.gif Проще вручную разбирать ACAD'овские векторные шрифты.
Можно попытаться поработать с мировыми координатами - перед выводом текста делать
SetGraphicMode (hDC, GM_ADVANCED), SetWorldTransform(bla-bla-bla), пересчитывать координаты текста, а после того, как текст нарисован возвращать состояние Контекста в исходное состояние.
Но тогда с Win9x/ME придется распрощаться - только НТ/2000.
В общем, читать Фень Юаня "Программирование Графики для Windows" до полного просветления.
Желаю удачи.

Появилась еще идея - рисовать "прямой" текст в отдельный буфер в памяти, полученную картинку переворачивать, и перевернутое изображение накладывать на экран. Через одно место, но реализовать будет проще :-)

Сообщение отредактировал svz - Oct 8 2006, 11:27
Go to the top of the page
 
+Quote Post
Mikle Klinkovsky
сообщение Oct 9 2006, 06:37
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445



Цитата(svz @ Oct 8 2006, 15:24) *
Появилась еще идея - рисовать "прямой" текст в отдельный буфер в памяти, полученную картинку переворачивать, и перевернутое изображение накладывать на экран. Через одно место, но реализовать будет проще :-)

А перерисовка потом будет по полчаса проц грузить на 100%...
Уж лучше отзеркалить в буфер используемые шрифты и перевернуть текст, а потом юзать стандартные функции не заморачиваясь о режимах, разрешении и пр.

И вообще, если в Пикаде все так круто работает, то почему не заюзать пикадовскую Dll'ку?


--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
Go to the top of the page
 
+Quote Post
Fellow
сообщение Oct 9 2006, 07:20
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 29-06-05
Пользователь №: 6 404



Если старые ОС не очень волнуют, то можно создать фонт с lfOrientation = 1800 в режиме GM_ADVANCED. Буквы фонта будут повернуты на 180 градусов, то есть зеркальное отрображение относительно оси x уже есть (не проверял). Можно пользоваться BeginPath/EndPath и самим преобразовывать и выдавать полилинии текста методом PolyPolygon (проверено). Работает достаточно быстро.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Yuri Potapoff   Как от зеркалить текст   Oct 7 2006, 17:53
- - ktod   Может , я, конечно, вопрос до конца не понял, но: ...   Oct 8 2006, 03:45
- - arttab   А зачем такое хитрое шаманство надо? Судя по теме ...   Oct 9 2006, 02:56
- - Vinnetu   ЦитатаФирме потребовалось 10 лет, чтобы написать э...   Oct 9 2006, 08:10
- - Yuri Potapoff   Пока речь идет о библиотекаре к нашему редактору с...   Oct 9 2006, 08:43
- - Vinnetu   ЦитатаНаличие футпринтов ... требует наличие функц...   Oct 9 2006, 09:22
|- - Fellow   Цитата(Vinnetu @ Oct 9 2006, 12:22) Цитат...   Oct 10 2006, 09:09
- - ktod   Если задача стоит только на вывод текста на контек...   Oct 9 2006, 11:37
- - Mikle Klinkovsky   Вот, мой коллега сказал, что никаких проблем: Set...   Oct 10 2006, 08:21
- - Vinnetu   ЦитатаИ кто, интересно, Вам нарисует сотни иерогли...   Oct 10 2006, 20:16
- - Yuri Potapoff   Ну, допустим, иероглифы нам не нужны. Вариант с ве...   Oct 10 2006, 20:23
|- - Andrew2000   Засомневался - правильно-ли я понял вопрос. Тока ...   Oct 10 2006, 20:50
|- - Fellow   Цитата(Yuri Potapoff @ Oct 10 2006, 23:23...   Oct 12 2006, 05:56
- - nikkov   Юрий, пусть ваши программисты посмотрят библиотеку...   Oct 11 2006, 02:28
- - Vinnetu   Юрий, покажите своему программисту аттачмент. На м...   Oct 11 2006, 10:27
- - Yuri Potapoff   Vinnetu Я оценил ваше чувство юмора. Я тоже знаю,...   Oct 11 2006, 16:44
- - Vinnetu   Юрий, меня очень... э-э-э... удивило, что на какую...   Oct 11 2006, 17:22
|- - nikkov   Цитата(Vinnetu @ Oct 12 2006, 00:22) Юрий...   Oct 12 2006, 03:12
- - Vinnetu   ЦитатаVinnetu, если бы Вы поинтересовались как раб...   Oct 12 2006, 06:24


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01397 секунд с 7
ELECTRONIX ©2004-2016