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