GDI+: Вывод искривленного по дуге текста
От: Joye  
Дата: 09.03.06 12:07
Оценка:
Приветствую, All
Подскажите плз, как можно сделать в GDI+ вывод искривленного по дуге текста, чтобы буквы были пропорционально растянуты, что то вроде эффекта Arc Text в Photoshop?
Re: GDI+: Вывод искривленного по дуге текста
От: ConstanIII Россия  
Дата: 09.03.06 14:03
Оценка:
Здравствуйте, Joye, Вы писали:

J>Приветствую, All

J>Подскажите плз, как можно сделать в GDI+ вывод искривленного по дуге текста, чтобы буквы были пропорционально растянуты, что то вроде эффекта Arc Text в Photoshop?

Можно попробовать так:

1. Создаешь буфер CreateCompatibleDC(), CreateCompatibleBitmap()
2. Очищаешь буфер
3. Выводишь в буфер символ
4. Поворачиваешь на необходимый тебе угол (по формуле дуги), для win98 попиксельно, для w2k/xp есть функция SetWorldTransform() (в MSDN есть пример)
5. Выводишь буфер на DC куда рисуешь
6. Возвращаешься к пункту 2 пока не прорисуешь все символы
7. Освобождаешь буфер.
Re[2]: GDI+: Вывод искривленного по дуге текста
От: Аноним  
Дата: 09.03.06 15:12
Оценка:
CII>1. Создаешь буфер CreateCompatibleDC(), CreateCompatibleBitmap()
CII>2. Очищаешь буфер
CII>3. Выводишь в буфер символ
CII>4. Поворачиваешь на необходимый тебе угол (по формуле дуги), для win98 попиксельно, для w2k/xp есть функция SetWorldTransform() (в MSDN есть пример)
CII>5. Выводишь буфер на DC куда рисуешь
CII>6. Возвращаешься к пункту 2 пока не прорисуешь все символы
CII>7. Освобождаешь буфер.

Я думал об этом способе. (хоть это и GDI), однако, в этом случае буквы будут просто повернуты, а нужно их повернуть и растянуть, чтобы они занимали всю предоставленную им дугу. Возможно ли на GDI+ сделать подобную трансформацию?
Re[3]: GDI+: Вывод искривленного по дуге текста
От: ConstanIII Россия  
Дата: 10.03.06 06:16
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Я думал об этом способе. (хоть это и GDI), однако, в этом случае буквы будут просто повернуты, а нужно их повернуть и растянуть, чтобы они занимали всю предоставленную им дугу. Возможно ли на GDI+ сделать подобную трансформацию?


Как в GDI+ к сожалению не знаю.
А про тот способ, ты имеешь формулу дуги по которой вычисляешь угол наклона и координаты X и Y в зависимости от ширины символа.
Re: GDI+: Вывод искривленного по дуге текста
От: neFFy Россия  
Дата: 10.03.06 09:09
Оценка:
Здравствуйте, Joye, Вы писали:

J>Приветствую, All

J>Подскажите плз, как можно сделать в GDI+ вывод искривленного по дуге текста, чтобы буквы были пропорционально растянуты, что то вроде эффекта Arc Text в Photoshop?

а может можно битмап нарисовать, а потом уж его извращать
как раз и буквы будут растянутыми..
...coding for chaos...
Re: GDI+: Вывод искривленного по дуге текста
От: McSeem2 США http://www.antigrain.com
Дата: 20.03.06 05:45
Оценка:
J>Подскажите плз, как можно сделать в GDI+ вывод искривленного по дуге текста, чтобы буквы были пропорционально растянуты, что то вроде эффекта Arc Text в Photoshop?

http://antigrain.com/demo/trans_curve1.gif http://antigrain.com/demo/trans_curve1.zip
http://antigrain.com/demo/trans_curve2.gif http://antigrain.com/demo/trans_curve2.zip

Оно? Правда тоже не GDI+.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.