![]() |
|
||||||||||
|
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Нужно растянуть битмапдату по x или y.
Как это сделать не создавая объекта Bitmap? Т.е. вариант с использованием /** * Растягивание битмапдаты * @param bitmapData исходное изображение * @param w ширина * @param h высота * @return растянутое изображение */ public static function stretchBitmap(bitmapData:BitmapData,w:int,h:int):BitmapData { var ret:BitmapData = new BitmapData(w, h,true,0); var bitmap:Bitmap = new Bitmap(bitmapData); var matrix:Matrix = new Matrix(); var sx:Number = w / bitmapData.width; var sy:Number = h / bitmapData.height; matrix.scale(sx, sy); ret.draw(bitmap,matrix); return ret; } )Может кто предложит алгоритм растягивания основанный на copyPixels? Ps:модераторы: измените пожалуйста название темы - очепятка.
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 18.09.2009 в 12:07. |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,155
|
Если такой алгоритм и есть, он очень долгий для флеш, возможно в шейдере это будет работать быстрее, но если не заморачиваться, то трансформ самое то. А что за религия такая строгая?
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Религиозный вопрос в создании лишнего экземпляра bimap. Пока пусть будет как есть.. интерфейс ф-ции не поменяется в дальнейшем.. и хорошо)
__________________
Отряд Котовскага |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,155
|
А что битмап, каши просит? Создали его локально, локально уничтожили.
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
А почему не сразу новый bitmapData с draw и матрицей? А copyPixels это
Цитата:
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
хм.. в описании ф-ции draw написано следующее:
Цитата:
То, что можно использовать битмапдату сразу, я как-то упустил))))) вопрос и соответственно сам топик самоуничтожились) /** * Растягивание битмапдаты * @param sourceBitmapData исходное изображение * @param w ширина * @param h высота * @return растянутое изображение */ private static function stretchBitmap(sourceBitmapData:BitmapData,w:int,h:int):BitmapData { var ret:BitmapData = new BitmapData(w, h,true,0); var matrix:Matrix = new Matrix(); var sx:Number = w / sourceBitmapData.width; var sy:Number = h / sourceBitmapData.height; matrix.scale(sx, sy); ret.draw(sourceBitmapData,matrix); return ret; }
__________________
Отряд Котовскага |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|