Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Библиотеки

Ответ
 
Опции темы
Старый 19.05.2009, 09:50   #46
AVIZO
Нуждающийся
 
Регистрация: 16.11.2006
Сообщений: 56
Написано 9 полезных сообщений
(для 29 пользователей)
Ответ: Lib_font32: Графические шрифты

Сам пользую такую функцию вывода текста с принудительными переносами. В архиве мидлет в котором используется такая функция.

//многострочное отображение длинной строки
//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;
Вложения
Тип файла: zip AUTOVIN.zip (38.3 Кб, 674 просмотров)
(Offline)
 
Ответить с цитированием
Старый 19.05.2009, 11:08   #47
Richik
Нуждающийся
 
Аватар для Richik
 
Регистрация: 02.05.2009
Сообщений: 68
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Lib_font32: Графические шрифты

AVIZO, а исходник не зя)))

Можно ли как-то вставить Enter (переход на следующую строку) в нужном мне месте? Если можно, пример в студию!
Библиотека Lib_resloader

Строка ### понимается как маркер конца файла
Строка # понимается как знак перевода строки

Последний раз редактировалось Richik, 19.05.2009 в 13:35.
(Offline)
 
Ответить с цитированием
Старый 19.05.2009, 17:48   #48
AVIZO
Нуждающийся
 
Регистрация: 16.11.2006
Сообщений: 56
Написано 9 полезных сообщений
(для 29 пользователей)
Ответ: Lib_font32: Графические шрифты

Исходник чего???
Вроде бы функцию выложил полностью. В ней все прозрачно (хотя можно сделать элегантнее).
(Offline)
 
Ответить с цитированием
Старый 19.05.2009, 18:10   #49
Winner
Нуждающийся
 
Регистрация: 28.09.2008
Сообщений: 98
Написано одно полезное сообщение
Ответ: Lib_font32: Графические шрифты

А именно в библиотеке font32 можно как-то вставить Enter или хотя бы получить высоту текста? Если нет, то предлагаю создателю это сделать, если не трудно.
(Offline)
 
Ответить с цитированием
Старый 21.05.2009, 12:43   #50
Richik
Нуждающийся
 
Аватар для Richik
 
Регистрация: 02.05.2009
Сообщений: 68
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Lib_font32: Графические шрифты

Winner, можно так:

В тексте на пустой строке, там, где надо установить перенос, ставим решетку.
Если строка равна "#", то строка равна "chr(32) + chr(13)"
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Winner (22.05.2009)
Старый 22.05.2009, 01:32   #51
Winner
Нуждающийся
 
Регистрация: 28.09.2008
Сообщений: 98
Написано одно полезное сообщение
Ответ: Lib_font32: Графические шрифты

Т.е. chr(32) + chr(13) - это и есть мой Enter? Можно немного разъяснить новичку этот момент?
(Offline)
 
Ответить с цитированием
Старый 22.05.2009, 03:59   #52
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Lib_font32: Графические шрифты

Для переводов строки в разных операционных системах используются разные байты.
Винда - chr(13)+chr(10)
Линукс - chr(10)
Мак - chr(13)
Обычно когда ты ЭНТЕР нажимаешь в текстовом редакторе, то вставляются именно эти символы (свои на каждой ОС).
chr(32) - это вроде пробел, он-то тут причём?
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Phantom за это полезное сообщение:
Richik (22.05.2009), Winner (22.05.2009)
Старый 23.05.2009, 00:17   #53
Richik
Нуждающийся
 
Аватар для Richik
 
Регистрация: 02.05.2009
Сообщений: 68
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Lib_font32: Графические шрифты

Возможно это так, но в инструкции написано, иначе
(Offline)
 
Ответить с цитированием
Старый 23.05.2009, 00:26   #54
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Lib_font32: Графические шрифты

Richik, в инструкции к чему?
(Offline)
 
Ответить с цитированием
Старый 24.05.2009, 00:35   #55
Richik
Нуждающийся
 
Аватар для Richik
 
Регистрация: 02.05.2009
Сообщений: 68
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Lib_font32: Графические шрифты

Lib_font32.txt

integer Format(s: string; b: integer) - Разбить длинный текст на мелкие строчки так, чтобы он помещался в
окно, заданное процедурой TextWindow. Функция возвращает расчётную высоту полученного разбитого
текста в пикселах. Параметр b определяет тип добавления текста:
0 - Форматировать новый текст (старый при этом будет удалён)
1 - Добавить строку в конец к уже отформатированному тексту
При необходимости вставки в текст переноса строки нужно делать так:
s:='Сейчас будет пере-' + chr(32) + chr(13) + 'нос текста.';
или для двойного переноса:
s:='Михаил Булгаков' + chr(32) + chr(13) + chr(13) + 'Мастер и Маргарита';
(Offline)
 
Ответить с цитированием
Старый 24.05.2009, 00:40   #56
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Lib_font32: Графические шрифты

Здесь видимо просто добавляется пробел, для того, чтобы текст не упирался в край экрана (32dec=20hex, а это точно пробел), потом уже идет 13dec, это перевод строки.
(Offline)
 
Ответить с цитированием
Старый 24.05.2009, 21:31   #57
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_font32: Графические шрифты

Алгоритм разбиения текста работает так, что ему нужен пробел перед знаком переноса. Иначе перенос срабатывать не будет.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Winner (25.05.2009)
Старый 24.05.2009, 23:52   #58
Richik
Нуждающийся
 
Аватар для Richik
 
Регистрация: 02.05.2009
Сообщений: 68
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Lib_font32: Графические шрифты

я же говорил :p


офтоп))
(Offline)
 
Ответить с цитированием
Старый 18.07.2009, 02:21   #59
Mach94
AnyKey`щик
 
Регистрация: 19.02.2009
Сообщений: 14
Написано одно полезное сообщение
Ответ: Lib_font32: Графические шрифты

odd, ты не мог бы сделать, чтобы у шрифтов оставалась прозрачность и чтоб в генераторе можно было задать цвет в RGB... Просто как-то не очень красиво смотрится белый прямоугольник вокруг текста, а если выбрать белый цвет шрифта, то вобще нифига не видно... Сделай плиз если не трудно...
(Offline)
 
Ответить с цитированием
Старый 18.07.2009, 15:45   #60
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_font32: Графические шрифты

Не понимаю в чем проблема? Там отлично поддерживается прозрачность. Просто загрузи шрифт в Photoshop и сделай там прозрачный фон в самой картинке вместо белого фона. Либо перекрась белый фон на прозрачный с помощью либы Lib_alpha. Просто генератор шрифтов не очень хороший, не умеет делать шрифты с прозрачным фоном. Вечно потом приходится самому ручками доделывать. Аналогично поступаешь и с перекраской шрифта. В любом случае с перекраской или без без Photoshop не обойтись. Он нужен хотя бы для уменьшения веса самой картинки. Можно подобрать такой алгоритм сжатия, что размер картинки уменьшится в 2 и более раз.

Последний раз редактировалось odd, 18.07.2009 в 15:52.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графическое меню. GRAY_WOLF Наше Open Source Software 0 18.12.2009 20:33
графический планшет и 3D Max SKA_DIMKA 3D Моделирование 11 18.08.2009 17:28
2д игровой графический чат Serg153 Основной форум 17 01.02.2009 00:35
Шрифты MaDoW Программирование 3 26.12.2007 22:33
Шрифты zheland 2D-программирование 1 27.10.2007 22:20


Часовой пояс GMT +4, время: 14:38.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com