![]() |
Как уменьшить разрешение Bitmap'а?
Можно ли уменьшить разрешение Bitmap'а? Или надо самому отрисовывать по пикселям усредняя цвет? Кто нибудь это делал, меня интересует как долго это происходит, например 4000х4000 уменьшить вдвое.
|
отрисовать через BitmapData#draw( исходный_битмап ) с матрицей, к которой применен scale( 0.5, 0.5 )
|
Отлично, спасибо, думал будет гораздо сложнее.
|
Bitmap — это наследник класса DisplayObject, следовательно можно воспользоваться сеттерами scaleX и scaleY, без необходимости менять исходную битмапдату и забивать память лишними картинками.
|
Obi, нельзя. Разрешение при этом не меняется, изменяется размер отображения, но твой проц все равно будет обрабатывать все 4000х4000 пикселей, хоть уменьшай его до одного пикселя.
|
> Разрешение при этом не меняется, изменяется размер отображения, но твой проц все равно будет обрабатывать все 4000х4000 пикселей
Откуда такая информация? Потратил 20 минут и проверил. Разницы в производительности никакой нет, однако изменение размера при помощи матрицы сразу ставит крест на динамическом изменении размеров картинки. По поводу производительности — оно и понятно, флеш не такой дурак чтобы считать все в лоб. Я уверен, что он кеширует изображение, не перерисовываая его каждый раз. Следовательно, scale выполняется единожды, и при следующей отрисовке заново не пересчитывается. |
Obi, у меня другая практика и разница в производительности огромная. Может в отображении одной картинке и не видна разница, но это не доказывает что ее - нет. Но когда я скейлю 200 картинок, то начинаются безумные тормоза при отображении. FPS падает в 5+ раз.
|
А можно код теста?
Если кеширует, то не понятно, зачем нужен cacheAsBitmap, например. И вообще интересно. |
Человек уже получил ответ на вопрос, как ему уменьшить разрешение. Зачем докапываться "а для каких вам целей", да "плеер не дурак".. лишь бы пооффтопить - для этого флейм есть.
|
50 картинок. Все еще не вижу разницы.
Код AS3:
Это и есть Bitmap. cashAsBitmap - Bitmap. Тафтология. Добавлено через 4 минуты Цитата:
UPD: уменьшил размер битмапдат и нагенерировал заявленные 200 штук. Разницы все равно не увидел. UPD2: в качестве счетчика фпс был использован класс FPSBox отсюда: http://blog.efnx.com/wp-content/uplo...113.src.tar.gz |
| Часовой пояс GMT +4, время: 00:09. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.