Ответ: Lib_font32: Графические шрифты
Вложений: 1
Сам пользую такую функцию вывода текста с принудительными переносами. В архиве мидлет в котором используется такая функция.
//многострочное отображение длинной строки //st - строка; x, y координаты вывода; w, h - ширина и высота в буквах!!!; dlt - пропустить строк function DrawLongStr(st : string; x, y : integer; w, h : integer; dlt : integer) : boolean; var s, ss : string; i, j, n : integer; prn : integer; begin DrawLongStr := true; if dlt > 0 then begin n := w * dlt; s := Copy(st, n, Length(st)); end else s := st; for i := 1 to h do begin if Length(s) < w then begin DrawString(s, x, y + ((i - 1) * h_ltr)); DrawLongStr := false; Break; end; ss := Copy(s, 0, w); //принудительные переносы!!! prn := -1; prn := pos(ss, perenos); if prn > -1 then begin ss := Copy(s, 0, prn); prn := prn + 1; end else prn := w; s := Copy(s, prn{w}, Length(s)); DrawString(ss, x, y + ((i - 1) * h_ltr)); end; end; |
Ответ: Lib_font32: Графические шрифты
AVIZO, а исходник не зя)))
Цитата:
Цитата:
|
Ответ: Lib_font32: Графические шрифты
Исходник чего???
Вроде бы функцию выложил полностью. В ней все прозрачно (хотя можно сделать элегантнее). |
Ответ: Lib_font32: Графические шрифты
А именно в библиотеке font32 можно как-то вставить Enter или хотя бы получить высоту текста? Если нет, то предлагаю создателю это сделать, если не трудно.
|
Ответ: Lib_font32: Графические шрифты
Winner, можно так:
В тексте на пустой строке, там, где надо установить перенос, ставим решетку. Если строка равна "#", то строка равна "chr(32) + chr(13)" |
Ответ: Lib_font32: Графические шрифты
Т.е. chr(32) + chr(13) - это и есть мой Enter? Можно немного разъяснить новичку этот момент?
|
Ответ: Lib_font32: Графические шрифты
Для переводов строки в разных операционных системах используются разные байты.
Винда - chr(13)+chr(10) Линукс - chr(10) Мак - chr(13) Обычно когда ты ЭНТЕР нажимаешь в текстовом редакторе, то вставляются именно эти символы (свои на каждой ОС). chr(32) - это вроде пробел, он-то тут причём? |
Ответ: Lib_font32: Графические шрифты
Возможно это так, но в инструкции написано, иначе
|
Ответ: Lib_font32: Графические шрифты
Richik, в инструкции к чему?
|
Ответ: Lib_font32: Графические шрифты
Lib_font32.txt
Цитата:
|
Ответ: Lib_font32: Графические шрифты
Здесь видимо просто добавляется пробел, для того, чтобы текст не упирался в край экрана (32dec=20hex, а это точно пробел), потом уже идет 13dec, это перевод строки.
|
Ответ: Lib_font32: Графические шрифты
Алгоритм разбиения текста работает так, что ему нужен пробел перед знаком переноса. Иначе перенос срабатывать не будет.
|
Ответ: Lib_font32: Графические шрифты
я же говорил :p
офтоп)) |
Ответ: Lib_font32: Графические шрифты
odd, ты не мог бы сделать, чтобы у шрифтов оставалась прозрачность и чтоб в генераторе можно было задать цвет в RGB... Просто как-то не очень красиво смотрится белый прямоугольник вокруг текста, а если выбрать белый цвет шрифта, то вобще нифига не видно... Сделай плиз если не трудно...
|
Ответ: Lib_font32: Графические шрифты
Не понимаю в чем проблема? Там отлично поддерживается прозрачность. Просто загрузи шрифт в Photoshop и сделай там прозрачный фон в самой картинке вместо белого фона. Либо перекрась белый фон на прозрачный с помощью либы Lib_alpha. Просто генератор шрифтов не очень хороший, не умеет делать шрифты с прозрачным фоном. Вечно потом приходится самому ручками доделывать. Аналогично поступаешь и с перекраской шрифта. В любом случае с перекраской или без без Photoshop не обойтись. Он нужен хотя бы для уменьшения веса самой картинки. Можно подобрать такой алгоритм сжатия, что размер картинки уменьшится в 2 и более раз.
|
Часовой пояс GMT +4, время: 01:54. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot