Копирование данных растровых изображенийFlash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий Для копирования данных одного изображения в другое можно использовать несколько методов: clone(), copyPixels(), copyChannel() и draw(). Как можно догадаться по его имени, метод clone() позволяет клонировать, или дублировать, данные растрового изображения одного объекта BitmapData в другой. При вызове этого метода он возвращает новый объект BitmapData, являющийся точной копией исходного экземпляра. В примере ниже показано, как клонировать оранжевый квадрат (родитель) и разместить клон рядом с ним. import flash.display.Bitmap; import flash.display.BitmapData; var myParentSquareBitmap:BitmapData = new BitmapData(100, 100, false, 0x00ff3300); var myClonedChild:BitmapData = myParentSquareBitmap.clone(); var myParentSquareContainer:Bitmap = new Bitmap(myParentSquareBitmap); this.addChild(myParentSquareContainer); var myClonedChildContainer:Bitmap = new Bitmap(myClonedChild); this.addChild(myClonedChildContainer); myClonedChildContainer.x = 110; Метод copyPixels() предлагает простой и быстрый способ копирования пикселов одного объекта BitmapData в другой. Метод делает прямоугольный снимок (что определяется параметром sourceRect) исходного изображения и копирует его в другую прямоугольную область того же размера. Расположение вновь «вставленного» прямоугольника определяется параметром destPoint. Метод copyChannel() дублирует значение канала (альфа, красный, зеленый или синий) исходного объекта BitmapData и копирует его в канал целевого объекта BitmapData. При вызове этого метода остальные каналы целевого объекта BitmapData никак не затрагиваются. Метод draw() отрисовывает, или визуализирует, графическое содержимое исходного спрайта, ролика или другого экранного объекта в новом растровом изображении. С помощью параметров matrix, colorTransform, blendMode и clipRect (для целевого объекта) можно указывать способ визуализации. Этот метод использует для генерации данных векторный визуализатор проигрывателя Flash Player и среды AIR. При вызове метода draw() исходный объект (спрайт, ролик или другой экранный объект) передается в качестве первого параметра, как показано ниже. myBitmap.draw(movieClip); Если какие-то свойства исходного объекта (цвет, матрица и т.п.) изменялись после того, как он был загружен, они не будут скопированы в новый объект. Если вам нужно скопировать изменения в новый объект, скопируйте значения свойства transform исходного объекта в свойство transform объекта Bitmap, который использует новый объект BitmapData. |
|