Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
579 views
in Technique[技术] by (71.8m points)

actionscript 3 - Trying to capture stage area using BitmapData

I am trying to grab part of stage area using BitmapData and copyPixels method:

bmd = new BitmapData(stage.stageWidth, stage.stageHeight);

bmdRect = new BitmapData(320, 240);

rectangle = new Rectangle(360, 20, 320, 240); 

bmdRect.copyPixels(bmd, rectangle, new Point());

bmd.draw(bmp);
bmp = new Bitmap(bmdRect);   

var myEncoder:JPGEncoder = new JPGEncoder(100);
var byteArray:ByteArray = myEncoder.encode(bmd);

The result i get is an empty .jpg I m pretty sure that the error is in the Bitmap procedure and not the saving one...

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Finally used this solution to copy part of the stage

(I copied everything that is on stage from (360, 20) and after)

var bitmapdata:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);

bitmapdata.draw(stage);

var bitmapDataA: BitmapData = new BitmapData(300, 250);

bitmapDataA.copyPixels(bitmapdata, new Rectangle(360, 20, 320, 240), new Point(0, 0));

var myEncoder:JPGEncoder = new JPGEncoder(90);

var byteArray:ByteArray = myEncoder.encode(bitmapDataA);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...