RenderTexture API问题,麻烦引擎组看下

cc.RenderTexture()出来的图片为什么取getHtmlElementObj()时引擎返回undefined

引导组的大神这是不是BUG

我要做的功能是把mark后的图转成base64上传到服务器

cc.Texture2D是可以获取到getHtmlElementObj的值的,RenderTexture继承Texture2D为什么会这样?

我看了下官网api的代码,initWithSize初始化的确实是没有的,这个方法返回的是_image

initWithSize初始化的时候这个images是undefined,

然后调用update设置_image也是undefined,不会进if

你可以用getImpl方法获取到贴图对象

感谢你的回复

我用的引导版本是2.1.2

我看了一下你说的getImpl方法,获取到的是一个Texture2D对象, 但是这个对象上面只有数据,没有方法getHtmlElementObj,还是没得到我要的html标签数据

是否我没完全理解你后面的意思呢

我没明白你为啥一定要获取到网页元素,有图片数据不是已经可以转成你要的编码了吗

我在网上看到的教程都是用getHtmlElementObj来转成base64的,麻烦你告诉我下,getImpl怎么转base64

谢谢了

我看了下载creator里面确实不太好转换


然后我尝试了下这两种都是可以的,不知道漫步满足你的需求

刚好需要。感谢分享

我的图片源是用RenderTexture绘制到camera上的,RenderTexture的对象获取getHtmlElementObj是为null的,你这个方法是没有问题的,但是我的需求用你这个方法实现不了。我要动态合成带遮罩的头像上传到服务器

非常感谢你这几天的回复,我在想想办法

我怎么觉得可以,你看看我的思路对不对
1.获取到Texture2D对象,可以是通过loadRes,或者是getImpl等方式得到;
2.Texture2D对象可以转换为Iamge对象;
3.多个Image可以绘制到一个canvas上面,canvas.drawImage方法可以多次绘制,先画头像,再画头像框,就得到合成之后的图了;
4.然后canvas.toDataURL得到你要的base64数据,上传服务器

你这是个不错的思路,我还没想到,用canvas.drawImage绘制出一个遮罩效果的头像,在存盘,我试下,有结果在回复你:smiley:

兄弟你的思路可行,试验成功,非常感谢你~~~

在QQ小游戏,安卓环境,canvas.toDataURL会为空,虽然toTempFilePath能正常缓存正常的图片

效率有点低

toDataURL是web平台的方法吧

通过 texture 获取到 htmlImage 只有 getHtmlElementObj 这一个方法吗?文档说这个方法只在web平台有效。有没有其他途径能转换texture的图像数据啊