Приветствую, All
Подскажите плз, как можно сделать в GDI+ вывод искривленного по дуге текста, чтобы буквы были пропорционально растянуты, что то вроде эффекта Arc Text в Photoshop?
Здравствуйте, 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+ сделать подобную трансформацию?
Здравствуйте, Аноним, Вы писали:
А>Я думал об этом способе. (хоть это и GDI), однако, в этом случае буквы будут просто повернуты, а нужно их повернуть и растянуть, чтобы они занимали всю предоставленную им дугу. Возможно ли на GDI+ сделать подобную трансформацию?
Как в GDI+ к сожалению не знаю.
А про тот способ, ты имеешь формулу дуги по которой вычисляешь угол наклона и координаты X и Y в зависимости от ширины символа.
Здравствуйте, Joye, Вы писали:
J>Приветствую, All J>Подскажите плз, как можно сделать в GDI+ вывод искривленного по дуге текста, чтобы буквы были пропорционально растянуты, что то вроде эффекта Arc Text в Photoshop?
а может можно битмап нарисовать, а потом уж его извращать
как раз и буквы будут растянутыми..
J>Подскажите плз, как можно сделать в GDI+ вывод искривленного по дуге текста, чтобы буквы были пропорционально растянуты, что то вроде эффекта Arc Text в Photoshop?