PDA

Просмотр полной версии : координаты букв


scarbo
27.10.2008, 22:25
Все наверно знают,как с помощью маленьких кубиков собрать большой пвсевдо 3D куб,или параллепипед,или призму,но вот как собрать к примеру букву? или дом?

Mnilionic
28.10.2008, 01:59
зачем из маленьких кубиков собирать польшой кубик?

gloomyBrain
28.10.2008, 02:54
Ну в принципе можно взять тектовое поле
- превратить его в битмапдату
- в битмапдате проверять цвета контрольных пикселей (например, если шрифт взяли большой, то каждые 10 пикселей по вертикали и по горизонтали)
- из етого всего получить объект - по сути набор координат, где пиксели закрашены
- по содержимому объектов размещаем наши кубики

задачка нестандартная... мде...=) геморройное решение конечно, но всё что в голову пришло

Mur4ik
28.10.2008, 04:39
можно заранее определить каждый символ шрифта как массив (как в табло типа бегущей строки) и в зависимости от нужной буквы по соответствующему массиву строить кубики, но эт при условии что стрить нужно не по любому шрифту пользователя из установленных у него, а заранее определенных. То же и с домиком....

А вот если строить нужно по любому шрифту, то вариант предложенный gloomyBrain (но с некоторой модификацией) кажется вполне приемлим и не так уж то и сложен в реализации. Обратите внимание на свойства и методы getColorBoundsRect, threshold, compare ну и getPixel32 - с некоторыми из них можно придумать алгоритм выгрызания полезных пикселей или областей при условии контрастности шрифта по отношению к фону.

Я подобное делал лет так 12 назад на Паскале, вытаскивал пиксели шрифта по разности цвета с фоном в массив координат точек и потом эти пиксели вращал в 3D пространстве.

skald
28.10.2008, 12:56
)))) плохо только, что домики не во всех шрифтах присудствуют))))
да и проекция получится плоская ...
и походу, автор имел ввиду полностью 3д...

для домика нужно будет три проекции полюбому ...

единственно, что внутренние полости тяжело отображать ... в черчении используются дополнительные виды.
можно реализовать тогда как судоку :D и пусть комп развлекается и решает :wacko: