在 Titanium appcelerator 中,当我捕获图像并在 ImageView
中显示时,图像未显示,而是显示以下警告。
[WARN] : OpenGLRenderer: Bitmap too large to be uploaded into a texture (1840x3264, max=2048x2048)
如何解决这个问题? 虽然在平板电脑中它工作正常,但在高分辨率设备中它不起作用。
当我将一张图片插入 ImageView
时,当我从相机拍摄或从图库中挑选图片时,就会发生这种情况。
最佳答案
这是因为不同的手机有不同数量的可用纹理内存,这取决于硬件和它们的 OpenGL 版本,这个特定值是 GL_MAX_TEXTURE_SIZE
并且可以根据手机查找 here以及其他地方。
要解决此问题,请将图像转换为 blob,然后使用内置函数调整其大小:imageAsResized , 在拍照成功回调中。
Ti.Media.showCamera({
....
success : function(e) {
// Resized to a size that most phones should support
var resizedImage = e.media.imageAsResized(1024, 1024);
// Set the image view with the resized image
imageView.image = resizedImage;
},
....
});
关于android - OpenGL 渲染器 : Bitmap too large to be uploaded into a texture in android titanium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22477508/