Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Поделить BitmapData на две части. (http://www.flasher.ru/forum/showthread.php?t=178551)

MikroAcse 24.04.2012 11:46

Поделить BitmapData на две части.
 
Вложений: 1
Как из одной BitmapData мне получить две Bitmap способом деления на пополам?
Пример:
Вложение 27907

СлаваRa 24.04.2012 11:54

как вариант создать 2 битмапы и скопировать в их битмапдаты необходимые участки из "целой" BitmapData.

ChuwY 24.04.2012 11:55

Код AS3:

var sourceBmd : BitmapData; // ваша  битмапдата
var leftBmd : BitmapData = new BitmapData(sourceBmd.width/2, sourceBmd.height);
var rigthBmd : BitmapData = new BitmapData(sourceBmd.width/2, sourceBmd.height);
var matrix : Matrix = new Matrix();
 
leftBmd.draw(sourceBmd);
matrix.tx = -sourceBmd.width/2;
rigthBmd.draw(sourceBmd, matrix);

Как-то так. Писал на коленке.

Ну или, правда, copyPixels.

MikroAcse 24.04.2012 11:57

Проблема решена, спасибо, ChuwY!
Исправленный код:
Код AS3:

                                var child:DisplayObject = addChild(loaders[i]);
                                child.x = i * 100;
                                var bmpd:BitmapData = DUtil.toBitmapData(child);
 
                                var leftBmd : BitmapData = new BitmapData(bmpd.width/2, bmpd.height, true, 0x00000000);
                                var rigthBmd : BitmapData = new BitmapData(bmpd.width/2, bmpd.height, true, 0x00000000);
                                var matrix : Matrix = new Matrix();
 
                                leftBmd.draw(bmpd);
                                matrix.tx = -bmpd.width/2;
                                rigthBmd.draw(bmpd, matrix);
 
                                var bmp1:Bitmap = new Bitmap(leftBmd);
                                var bmp2:Bitmap = new Bitmap(rigthBmd);
 
                                addChild(bmp1);
                                addChild(bmp2);
 
                                bmp1.y = 200;
                                bmp1.x = i * 100;
                                bmp2.y = 200;
                                bmp2.x = i * 100 + 50;



Часовой пояс GMT +4, время: 01:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.