![]() |
координаты букв
Все наверно знают,как с помощью маленьких кубиков собрать большой пвсевдо 3D куб,или параллепипед,или призму,но вот как собрать к примеру букву? или дом?
|
зачем из маленьких кубиков собирать польшой кубик?
|
Ну в принципе можно взять тектовое поле
- превратить его в битмапдату - в битмапдате проверять цвета контрольных пикселей (например, если шрифт взяли большой, то каждые 10 пикселей по вертикали и по горизонтали) - из етого всего получить объект - по сути набор координат, где пиксели закрашены - по содержимому объектов размещаем наши кубики задачка нестандартная... мде...=) геморройное решение конечно, но всё что в голову пришло |
можно заранее определить каждый символ шрифта как массив (как в табло типа бегущей строки) и в зависимости от нужной буквы по соответствующему массиву строить кубики, но эт при условии что стрить нужно не по любому шрифту пользователя из установленных у него, а заранее определенных. То же и с домиком....
А вот если строить нужно по любому шрифту, то вариант предложенный gloomyBrain (но с некоторой модификацией) кажется вполне приемлим и не так уж то и сложен в реализации. Обратите внимание на свойства и методы getColorBoundsRect, threshold, compare ну и getPixel32 - с некоторыми из них можно придумать алгоритм выгрызания полезных пикселей или областей при условии контрастности шрифта по отношению к фону. Я подобное делал лет так 12 назад на Паскале, вытаскивал пиксели шрифта по разности цвета с фоном в массив координат точек и потом эти пиксели вращал в 3D пространстве. |
)))) плохо только, что домики не во всех шрифтах присудствуют))))
да и проекция получится плоская ... и походу, автор имел ввиду полностью 3д... для домика нужно будет три проекции полюбому ... единственно, что внутренние полости тяжело отображать ... в черчении используются дополнительные виды. можно реализовать тогда как судоку :D и пусть комп развлекается и решает :wacko: |
| Часовой пояс GMT +4, время: 13:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.