你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
发现
话题
全文搜索
登录
[0]drawToCanvas绘制显示不全
在pc模式下,场景适配模式为showall,此时drawToCanvas绘制出来的图片显示不全,demo见附件
DrawCanvasDemo.zip
没有找到相关结果
已邀请:
与内容相关的链接
提交
3 个回复
之肖
赞同来自:
测试代码
export default class TestView extends TestViewUI {
constructor() {
super();
}
onAwake() {
this.nativeImg = new Image();
let style = this.nativeImg.style;
style.position = 'absolute';
style.visibility = 'hidden';
style.zIndex = 9999;
style.height = screen.height + 'px';
style.width = Math.floor(screen.height / Laya.stage.height * Laya.stage.width) + 'px';
document.body.appendChild(this.nativeImg)
}
onEnable() {
Laya.timer.once(1000, this, this.delayShowImg);
}
delayShowImg() {
let canvas = this.drawToCanvas(Laya.stage.width, Laya.stage.height, 0, 0);
let str = canvas.toBase64('image/jpeg', 0.9);
this.nativeImg.src = str;
this.nativeImg.style.visibility = 'visible';
}
}
layabox
赞同来自:
showall并不是全屏模式,画布会按比例保证你的设计宽度内,一定在屏幕之内进行缩放。你要是超出画布那就不会显示。所以需要自己去控制画布大小内的内容。
你的代码里,都没有用引擎的舞台,你自己调的原生接口,那就自己控制吧。这个有一定的难度,其实是不建议的。
之肖
赞同来自:
麻烦仔细看下代码,我是在main里面创建并添加了一个页面到舞台,然后1秒后将这个页面转出的base64赋给的原生图片,但是转出的base64就是显示不全的,上边和右边会有黑边,但是相同代码在3.0里面测试就是对的,对比过两个转换源码,没发现问题,还得你们官方去查下
要回复问题请先
登录
发起人
之肖
相关问题
请问LayaAir中如何使图片以圆形的方式显示?
安装layaAirIDE2 ,跟着官网敲hello world 例子,为什么不显示?
Laya2.0 WebGl模式,使用 drawToCanvas 报错 ImageData is not defined?
有什么容器能够实现当子元素达到显示上限后自动滚屏,使得新添加的元素始终保持在最底部显示?
加载到舞台的3D模型不显示贴图
layaair3.1.3版本打出的项目中的text与label组件在vivo小游戏引擎1105及以下文字显示异常
unity中的模型导出后在laya中显示不正常
从unity导出的场景透贴和模型烘焙的灯光不显示,请问有知道是什么原因的吗?~~~~~~~~~~~~~
使用了u3D导出来的粒子,不停的显示移除并销毁其克隆对象,统计面板的显存和内存就会显示成负数
spine在微信小游戏中切换动画无法显示
text富文本,溢出处理 截断显示省略号 存在异常
问题状态
最新活动:
2023-03-27 10:06
浏览:
5649
关注:
2
人
商务合作
3 个回复
之肖
赞同来自:
export default class TestView extends TestViewUI {
constructor() {
super();
}
onAwake() {
this.nativeImg = new Image();
let style = this.nativeImg.style;
style.position = 'absolute';
style.visibility = 'hidden';
style.zIndex = 9999;
style.height = screen.height + 'px';
style.width = Math.floor(screen.height / Laya.stage.height * Laya.stage.width) + 'px';
document.body.appendChild(this.nativeImg)
}
onEnable() {
Laya.timer.once(1000, this, this.delayShowImg);
}
delayShowImg() {
let canvas = this.drawToCanvas(Laya.stage.width, Laya.stage.height, 0, 0);
let str = canvas.toBase64('image/jpeg', 0.9);
this.nativeImg.src = str;
this.nativeImg.style.visibility = 'visible';
}
}
layabox
赞同来自:
你的代码里,都没有用引擎的舞台,你自己调的原生接口,那就自己控制吧。这个有一定的难度,其实是不建议的。
之肖
赞同来自: