调整/缩放多个位图(反复复制1个bitmat)

时间:2010-12-02 08:43:39

标签: flash flash-cs5

我试图通过一遍又一遍地重复1张图片来制作上传图片的框架。用户必须输入图片的实际尺寸,图像将按比例缩放,以便框架看起来应该尽可能大。问题在于,当我获得更大的选择并且我缩放图像时出现问题,并且在影片剪辑中存在一些拖尾。当我将它移动到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见左侧。它可以直到某种方式,而不是涂抹:(。任何人都可以帮忙吗?

P.S。在创建之后,它会相应地使用scaleX和scaleY进行缩放。

3 个答案:

答案 0 :(得分:0)

也许尝试地板或四舍五入的x和y?像:

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

或者使用:

pc3.x |= 0; 

删除点之后的所有内容。

答案 1 :(得分:0)

确定。发现了问题。当我重复图片100次时,它会使得框架太大而无法处理。它类似于50 000 x 40 000 px :)。有些地方出了问题。我使用2个选手修复的问题。 1大1小。当我需要一个大框架时,我使用小镐并重复100次:)。当我需要一个小框架时,我使用大框架,一切都很好。

答案 2 :(得分:0)

您应该创建一个透明的位图/位图数据,然后将设计克隆/标记到其中,并将其放置在您想要框架的图像的顶部,而不是创建大量的元素/位图作为框架环绕。通过将框架设计保持为一个平面位图,您将节省大量内存开销,并使闪存更快,响应更快。