|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jul 2008
Адрес: Рига
Сообщений: 176
|
У програмно созданного Bitmap не работает smoothing?
Народ, нужна помощь!
Для небольшого банера-галереи, пришлось делать следующее изменение: Сделать попап растягиваемым относительно текста внутри. Раньше бэкграунд попапа был PNG со smoothing = true; Но для этой цели, чтобы не растягивать Битмап, а то он некрасиво искажается, я нарисовал такой же попап во флэше, в векторе. Делаю ему нужный ресайз, а потом рисую его в BitmapData -> Bitmap. Выставляю smoothing = true, но при анимации он дергается, как дергался старый битмап бэкграунд без smoothing! Что же это получается? Для такого битмапа не работает smoothing?! Глянуть сие можно тут: http://turret.itgrupa.lv/test/tele2/tele2loader.html Попап появляется при маус оувере на прямоугольные подвижные картинки. Я для наглядности поставил 2 бэкграунда. Верхний, это старый битмап из library, нижний это проблемный Bitmap, который я рисую с вектора, он дергается как паралитик. |
|
|||||
Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
|
Bitmap.cacheAsBitmap
|
|
|||||
Регистрация: Jul 2008
Адрес: Рига
Сообщений: 176
|
cacheAsBitmap стояло:
var vData:BitmapData = new BitmapData(cWidth, cHeight, true, 0xFFFFFF); var m:Matrix = new Matrix(); m.translate( Math.round( cWidth / 2 ), cHeight - 3); vData.draw(this.content, m, null, null, new Rectangle(0, 0, cWidth , cHeight )); var nScreenShot:Bitmap = new Bitmap(vData, "auto", true); nScreenShot.smoothing = true; nScreenShot.cacheAsBitmap = true; this.addChild( nScreenShot ); |
|
|||||
[+1 17.01.08]
Регистрация: Jan 2008
Сообщений: 16
|
По моему это не Смуфинг, это пиксельСнапинг - попробуй вместо 'auto' поставить 'always'
|
|
|||||
Lorem ipsum
|
вот тестовый код
var s:Shape = new Shape(); s.graphics.beginFill(0); s.graphics.drawRect(0, 0, 50, 50) s.graphics.endFill(); var bmpd:BitmapData = new BitmapData(50, 50); bmpd.draw(s, null, null, null, null, true); var bmp1:Bitmap = new Bitmap(bmpd, PixelSnapping.NEVER, true); //bmp1.cacheAsBitmap = true; // - только все портит var bmp2:Bitmap = new Bitmap(bmpd, PixelSnapping.AUTO, false); bmp2.y = 55; var m:MovieClip = new MovieClip(); m.addChild(bmp1); m.addChild(bmp2); m.y = 10; m.x = 10; addChild(m); addEventListener(Event.ENTER_FRAME, mover); function mover(e:Event):void { x += .1; } но стоит вместо прямоугольника нарисовать тот же кружок как скакать начинают оба 0о +1 к вопросу — а шо ж делать?
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Jul 2008
Адрес: Рига
Сообщений: 176
|
Цитата:
Согласен, что делать чтобы избежать такие скачки?! И мне неясно, почему Bitmap из Library ведет себя нет так как програмно созданный! В принципе, проблему функциональности приложения я решил другим способом, но тема этого поведения не раскрыта! Последний раз редактировалось Xpb7; 29.10.2009 в 14:43. |
|
|||||
Lorem ipsum
|
Есть одно решение... его никак элегантным не назовешь, но работает 100%
Таки подставь drawCircle в выше предложенном "стенде для тестов", чтобы было видно, что никакой smothing не помогает, а потом допиши: ответ нагуглил, так что в меня палками не кидаться есличо )
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Jul 2008
Адрес: Рига
Сообщений: 176
|
Действительно работает, только мне несколько неясно с чем это связано.
Почему не подоходит "правильного" размера битмап? Спасибо, Zebestov и всем, кто пытался вникнуть. Однако, не перестану надеяться, что объяснение таких чудес найдется. |
Часовой пояс GMT +4, время: 00:38. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|