![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 11
|
Есть такой проект - scribd.com, это онлайновый просмотрщик и хранилище документов любого формата. Сначала документ конвертится в pdf, потом с помощью swftools: pdf->swf. Эта свф-ка представляет собой movieclip с фреймами, в каждом из которых содержится одна страница из pdf. Потом этот мувик прогружается во вьювер и показывается в нескольких модах (book, scroll, slideshow)
Есть задача, реализовать режим scroll из этого вьювера (т.е режим как в adobe reader-е): Но оказывается, в классе MovieClip невозможно вырезать отдельные фреймы, чтобы в проследствии раскидать их по контейнерам в скролл-панели своего вьювера. И как к этой задаче подойти, я не знаю. Была мысль делать копии этого MovieClip-a и при добавлении в нужный контейнер перематывать до нужного кадра, однако когда будет 500 кадров в мувике (и соответственно нужно будет 500 контейнеров для страниц и 500 копий этого мувика), при весе его в 5 метров - это по-моему плохая идея. Кто что может подсказать для решения этой задачи? Заранее спасибо. |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
на экране-то умещаются только две-три страницы. Т.е. вам нужно всего две-три копии мувика.
|
|
|||||
|
Регистрация: Nov 2009
Сообщений: 11
|
А если делать функцию preview (tile-list с 16-25-36 кадрами) - как в scribd viewer? Как быть в этом случае, что посоветуете?
|
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
отрисуйте тумбы с каждого кадра в BitmapData
__________________
low + |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 11
|
2Jewelz: А не подскажете код, чет не соображу (еще почти новичек во флеше), как фрейм из мувика перегнать в BitmapData посредством as3?
Вот сижу, и не вижу в классе MovieClip ни одного подходящего для этой задачи метода... Последний раз редактировалось mr.oizo; 03.12.2009 в 17:30. |
|
|||||
|
BitmapData 500 раз? Вам не кажется это плохой идеей?
Добавлено через 5 минут А вообще:
__________________
круглое тащим, квадратное катим |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
нормально все будет. только не в цикле, чтобы комп завис, а на enterFrame по, скажем, 50 битмап за раз. Вообще, опять же можно отрисовывать битмапы по мере надобности.
Автор, вам нужна функция BitmapData.draw(); |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 11
|
Все понял, спасибо большое. Попробую.
|
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
вроде как человек хочет 16-25-36 страниц отобразить.. 500 сразу думаю никому не надо
+ не в полном размере делать, а именно тумбы, вобщем думаю так: private function getFrame(index:uint):Bitmap { if ((index != 0) && (index <= mc.totalFrames)) { mc.gotoAndStop(index); var m:Matrix = new Matrix(); var size:Number = 0.2; // на сколько уменьшаем m.scale(size, size); var bmpd:BitmapData = new BitmapData(mc.width * size, mc.height * size); bmpd.draw(mc, m, null, null, null, true); return new Bitmap(bmpd, PixelSnapping.AUTO, true); }else { return null; } }
__________________
low + |
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
с BitmapData у вас не прокатит сделать поиск и выделение по тексту ;-)
создавали что-то подобное (даже покруче scribda получилось ) |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|