Вниз
Скачать: CL | DM;

Преобразование текста в набор пикселов.   Найти похожие ветки 

 
JTAG ©   (2003-07-28 13:39) [0]

Кратко о задаче. Например, есть стандартный редактор Memo или RichEdit в котором я могу набирать текст. При помощи стандартных диалогов могу менять тип шрифта, цвет, размер и т.д. этого текста. После того как текст набран и отредактирован нужно получить пиксельный образ этого текста. Что имеется ввиду, допустим в окне редактора размером по высоте 100 пикселей, а по ширине 200 пикселей набрана строчка текста, мне нужно считать каждый пиксель окна редактора и определить его параметр (т.е. цвет RGB каждого пикселя ).
Это было нетрудно сделать, зная координаты левого верхнего угла окна редактора и его размеры, при помощи такого оператора i:= Form1.Canvas.Pixels[j,k]; где j-меняется по вертикальным пикселам окна редактора , k по горизонтальным.
Но этот алгоритм можно применить если текст достаточно невелик и может уместиться в окне редактора, а если текст большой и для его просмотра необходимо делать прокрутку, как быть тогда.
Может быть нужно использовать другой алгоритм , если не трудно поделитесь мыслями, буду очень благодарен.
С Наилучшими пожеланиями Александр. to_a@mail.ru


 
MBo ©   (2003-07-28 14:09) [1]

см. EM_FORMATRANGE


 
AlexT1000 ©   (2003-07-28 14:09) [2]

ты можешь создавать какой либо временный битмап и рисовать на него текст. и уже из этого битмапа получать свой пиксельный образ.
и уж конечно не пользоваться Canvas.Pixels

Почитай про Bitmap.ScanLine.



 
Fenik ©   (2003-07-28 20:32) [3]

Можно попробовать PaintTo, но, по-моему, он рисует только на формы..



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
14-79157
alxx
2003-10-31 11:04
2003.11.24
Быстрая графика в Delphi


6-79082
Sergioly
2003-09-28 03:02
2003.11.24
Как осуществить копирование файлов с другого компьютера?


14-79141
Igor_thief
2003-10-31 18:06
2003.11.24
DBGRID


14-79124
Style
2003-10-28 16:13
2003.11.24
SM80, SM300


14-79135
aVast
2003-11-03 11:07
2003.11.24
а круто ли это?




   Наверх