Изменение размера / масштабирование нескольких растровых изображений (дублирование 1-го растрового изображения снова и снова) - PullRequest
0 голосов
/ 02 декабря 2010

Я пытаюсь создать рамку вокруг загруженного изображения, повторяя одно изображение снова и снова.Пользователь должен будет ввести реальные размеры изображения, и изображение будет соответствующим образом масштабировано, чтобы рамка выглядела настолько большой, насколько это необходимо.Проблема в том, что, когда я получаю больший снимок и масштабирую изображения, что-то идет не так, и в мувиклипе появляется некоторая смазанность.Когда я перемещаю его в X: 0 и Y: 0, все хорошо.Когда я перемещаю его в центр экрана, размазывание происходит там.Вот код, который я использую:

    public class frame_part extends MovieClip {

    public function frame_part(duplicationBitmap_org:Bitmap, neede_pcs_num_height:Number, order:String, rotation_num:int) {
        super();
        for(var i:int = 0; i < neede_pcs_num_height; i++) {
            var pc3:Sprite = new Sprite();
            var duplicationBitmap_org1:Bitmap = new Bitmap(uplicationBitmap_org.bitmapData);
            pc3.addChild(duplicationBitmap_org1);
            switch(order) {
                case("X"):
                    pc3.x = i * pc3.height;
                    break;
                case("Y"):
                    pc3.y = i * pc3.width;
                    break;
            }
            pc3.rotation = rotation_num;
        }
    }

}

Вот изображение того, что происходит.[текст ссылки] [1]

[1]: http://share1t.com/avaxsz См. левую сторону.Это нормально до определенного пути и чем это размазывает :(. Кто-нибудь может помочь, пожалуйста?

PS После создания это масштабируется соответственно с scaleX и scaleY.

Ответы [ 3 ]

0 голосов
/ 03 декабря 2010

Хорошо.Нашел проблему.Когда я повторяю картинку 100 раз, рамка становится слишком большой, чтобы справиться с ней.Это что-то вроде 50 000 х 40 000 пикселей :).И где-то там что-то идет не так.Проблема, которую я исправил, используя 2 пикапа.1 большой и 1 маленький.Когда мне нужен большой кадр, я использую маленький инструмент и повторяю его 100 раз :).Когда мне нужна маленькая рамка, я использую большую, и все хорошо.

0 голосов
/ 03 декабря 2010

Вместо того, чтобы создавать тонну элементов / растровых изображений, чтобы обернуть их в виде фрейма, вы должны вместо этого создать прозрачные растровые / растровые данные и клонировать / пометить дизайн в него и поместить его поверх изображения, которое вы хотите создать.Сохраняя структуру кадра в виде единого плоского растрового изображения, вы сэкономите массу памяти и сделаете флэш-память более быстрой и более отзывчивой.

0 голосов
/ 03 декабря 2010

Может быть, попробуйте пол или закругление х и у? как:

pc3.x = Math.floor(pc3.x);
pc3.y = Math.floor(pc3.y);

альтернативное использование:

pc3.x |= 0; 

Который удаляет все после точки.

...