![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2009
Сообщений: 10
|
Здравствуйте.
Делаю page flip для книги. Однако, при рендеринге TextField в Bitmap с текстом что-то происходит: то ли ужимается, то ли размеры text-field изменяются. Во вложении 2 варианта: слева - начало движения страницы, то есть текст уже отрисован в bitmap, справа - текст является TextField. Попробовал, заранее отрисовывать текст в Bitmap и выводить уже его на странице, но результат ещё хуже. Поигрался с antialias и autosize - результат такой же. Помогите разобраться. Заранее благодарю ![]() |
|
|||||
|
нечего подсказать, кроме стандартного набора
- проверить не затесались ли дробные координаты у текстфилда (и у его родителей тоже) - bitmap.smoothing = true|false; - у bitmapData.draw() есть аргумент, отвечающий за сглаживание, с ним поиграться мне казалось, что bitmapData.draw должен отрисовывать без обмана, типа что видим - то и получаем, такой вот факт, например: системный шрифт при включенных утилитах сглаживания шрифтов (в винде) и без них и в битмапе выглядит по разному |
|
|||||
|
а какой движок вы используете ?
Последний раз редактировалось alekslitvinenk; 27.05.2009 в 23:35. |
|
|||||
|
Регистрация: May 2009
Сообщений: 10
|
2 silin, спасибо за ответ.
1) все координаты дискретные без дробей. 2) попробую конечно, но даже на скрине явно видно, что при рендеринге в bitmap переносятся целые слова и шрифт кажется уменьшенным на пару пикселей. ![]() 3) не думаю, что сглаживание может влиять на перенос слов и изменение размеров шрифта. Но, всё равно, спасибо. Попробую поиграться с этими параметрами ![]() 2 alekslitvinenk, никакой движок не использую. Сам написал первый проект во flash и action script ![]() |
|
|||||
|
>>но даже на скрине явно видно, что при рендеринге в bitmap переносятся целые слова
дада, а я и не заметил, сори draw() слова не переносит, канеш ![]() надо смотреть что просиходит с текстом, перед тем как он попадает в draw, потому как это явно не тот же текстфилд, что справа |
|
|||||
|
вы используете кастомный шрифт ? может он не успевает подгрузиться ?
|
|
|||||
|
попробовать зашить шрифт?
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет... |
|
|||||
|
Регистрация: May 2009
Сообщений: 10
|
Да шрифт то стандартный Times New Roman.
В общем-то структура страницы следующая. MovieClip с рисунком подложки (пусть будет pages -- это коллекция страниц), а к нему добавлен TextField. Естественно при повороте страницы создаётся новый MovieClip куда выводиться BitmapData. При подготовке переворотов делаю. Что-то вроде: frontBitmap.draw(this.pages[i]); // это только для примера То есть TextField вообще не трогаю. Пробую покопать в сторону типов рендеринга текста. В каком-то классе (TextRenderer вроде) видел значения констант вроде to_bitmap, to_movie_clip (смысл такой, но написание другое ) или при рендеринге изменяются значения отступов ![]() Кстати, а есть ли возможность перевести текст в кривые так же как это делает функция Break Apart, но программно? |
|
|||||
|
мне кажется, что типы рендеринга и пр. настройки текста здесь не причем..
попробуй выделить в чистом виде эффект когда Bitmap.draw(this.pages[i]) рисует не то, что есть в объекте и я почти уверен, что найдешь грабли.. потому как не может быть этого, но если получится, глянуть на такое было бы очень интересно |
|
|||||
|
Насколько я понял у тебя отрисовывается вся страница содержащая TextField?
Проверь scaleX/scaleY, проверь не менялись ли width/height у страницы. Функция draw (если мне не изменяет память) сначала приводит объект к scaleX = scaleY = 1, а уже потом отрисовывает |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|