分享:截屏!

package {
    import laya.display.Sprite;
    import laya.events.Event;
    import laya.resource.HTMLCanvas;
    import laya.resource.Texture;
    import laya.utils.Browser;
    import laya.webgl.WebGL;
    
    public class LayaAirDemo {
        private var sp:Sprite ;
        public function LayaAirDemo() {
            //初始化引擎
            Laya.init(Browser.width, Browser.height,WebGL);
            //设置背景颜色
            Laya.stage.bgColor = "#ffcccc";
            //设置舞台CLICK,该CLICK作为截屏的开关,点击舞台,对舞台对应的canvas区域进行截屏
            Laya.stage.on(Event.CLICK,this,onClick);
            //随意绘制显示对象
            sp= new Sprite();
            sp.loadImage("logo.png");
            Laya.stage.addChild(sp);
        }
        
        private function onClick():void
        {
            //HTMLCanvas 是 Html Canvas 的代理类,封装了 Canvas 的属性和方法。。请不要直接使用 new HTMLCanvas!
            //此处将canvas指定区域进行截屏
            var htmlC:HTMLCanvas =sp.drawToCanvas(100,100,0,0);
            //获取截屏区域的texture
            var _texture:Texture = new Texture(htmlC);
            
            //将截屏的texture进行draw绘制并显示到舞台
            var sp2:Sprite = new Sprite();
            sp2.x = 300;
            sp2.graphics.drawTexture(_texture,0,0,100,100);
            Laya.stage.addChild(sp2);
        }
    }
}
已邀请:

ying1247680740

赞同来自: 小数点_

请问截屏后怎么把图片存在本地啊?

Monica - 知识达人

赞同来自:

谢谢分享~\(≧▽≦)/~

gmajrtfp

赞同来自:

webgl下无效

cuixueying

赞同来自:

已经改好了,你再试下webGL!@gmajrtfp

anghuo

赞同来自:

截屏如何发送到服务端存储为图片呢!

xiaoyxh

赞同来自:

在安卓手机截图颜色会加深,苹果和PC都没问题,请问这是怎么回事?
 

叔年心~厌世

赞同来自:

截图 截屏傻傻分不清,也是服了

1569834469用户

赞同来自:

微信小游戏里,调用drawToCanvas会报错, ImageData未定义,请问怎么解决啊

要回复问题请先

商务合作
商务合作