Как я могу изменить размер растровых данных без необходимости редактировать матрицу преобразования и поддерживать хорошее качество - PullRequest
0 голосов
/ 02 марта 2012

Я пытаюсь изменить размер растрового изображения для проекта, над которым мы работаем в версии 3.0.По сути, у нас есть куча спрайтов, которые рисуются в bitmapData и затем сохраняются в векторе.Данные в векторе в конечном итоге сохраняются в растровом объекте.Теперь я хочу уменьшить размер спрайтов BitmapData, но не хочу обновлять матрицу 100 для этого.Есть ли другой способ?

У меня был некоторый успех, когда я масштабировал растровое изображение, которое отображается, но изображение выглядит немного неровным, и модели не поворачиваются при лунной прогулке.

У меня естьтакже устали Matrix.a = 0.4 и matrix.d = 0.4, но это ничего не сделало.

Когда я сделал bitmap.scalex = 0.7 и то же самое для scaleY, оно уменьшило его, но теперь они в воздухе, как х и у.Неправильно, и код, который они использовали для обратного, просто делал scalX *= -1, который сейчас тоже не работает.Также я разобрался, как вытащить их из воздуха, но они, как и было сказано, перед тем, как зазубрины и лунная прогулка.Пожалуйста, помогите, поскольку я пытаюсь исправить код, который был написан до того, как я сюда попал.

В основном вот какой-то код, я получил одобрение от генерального директора:

у нас есть это:

var b:BitmapData = new BitmapData(CustomerRenderer.BLIT_WIDTH,      
CustomerRenderer.BLIT_HEIGHT, true, 0x00000000);
        for(var i:int=0; i<WRAPPER.numChildren; i++)
        {
            b.draw(Sprite(WRAPPER.getChildAt(i)),  
                   WRAPPER.getChildAt(i).transform.matrix, null, null, b.rect, true);
        }
        _spriteSheet[_currentFrame] = b;

Затем мы используем эти данные в

 BAKED_BITMAP.bitmapData = _spriteSheet[_currentFrame];

, чтобы отобразить их, где BAKED_BITMAP - это растровое изображение

, а затем, чтобы перевернуть все, что делал человек, было:

 BAKED_BITMAP.scaleX *= -1;
 BAKED_BITMAP.x = (BAKED_BITMAP.scaleX >= 0) ? 0 : BLIT_WIDTH;

спасибо

1 Ответ

2 голосов
/ 02 марта 2012

Вы можете попробовать установить свойство smoothing объекта Bitmap, чтобы увидеть, дает ли он желаемый эффект.

...