Java 是否有要修复的BitmapFactory分辨率;位图太大,无法上载到纹理中;?
在某些设备上,位图形式的图像对于要容纳它们的ImageView来说似乎太大了 图像将通过摄像机和网络获取。它们将在活动中一次显示一个,该活动允许您移动图像、缩放等以查看缺陷 似乎当使用来自相机的图像时,我们得到“位图太大,无法上传到纹理中。”Java 是否有要修复的BitmapFactory分辨率;位图太大,无法上载到纹理中;?,java,android,view,Java,Android,View,在某些设备上,位图形式的图像对于要容纳它们的ImageView来说似乎太大了 图像将通过摄像机和网络获取。它们将在活动中一次显示一个,该活动允许您移动图像、缩放等以查看缺陷 似乎当使用来自相机的图像时,我们得到“位图太大,无法上传到纹理中。” 我不想硬编码比例,但我想拍摄任何图像,并通过位图工厂生成一个适合Imageview的图像。然后,我会在图像不太大的情况下拍摄它,并通过将矩阵与ImageView关联来缩放它。我在stackoverflow周围寻找如何解决这个问题。我得出以下结论: 它基于i
我不想硬编码比例,但我想拍摄任何图像,并通过位图工厂生成一个适合Imageview的图像。然后,我会在图像不太大的情况下拍摄它,并通过将矩阵与ImageView关联来缩放它。我在stackoverflow周围寻找如何解决这个问题。我得出以下结论:
BitmapFactory.Options ops = new BitmapFactory.Options();
opts.inSampleSize = 2;
这种理解来自于这样一种观念,即它将是宽度和高度的一半,因此是大小的四分之一Matrix m = new Matrix();
m.postScale(scaleX,scaleY);
这允许您获取图像样本,使其变小,然后放大,使其保持相同的大小。inSampleSize是scaleX和scaleY的大小,用于放大
可能的问题:像素化。根据图像的大小,情况不会太糟,但您将看到其中的一些
这是为了解决设备的约束。我会检查图像的宽度和高度有多大,如果它>GL_MAX_TEXTURE_SIZE,它会做一些数学运算,并在balue下生成
我相信下一个标准是:
我在四处寻找如何解决这个问题。我得出以下结论:
BitmapFactory.Options ops = new BitmapFactory.Options();
opts.inSampleSize = 2;
这种理解来自于这样一种观念,即它将是宽度和高度的一半,因此是大小的四分之一Matrix m = new Matrix();
m.postScale(scaleX,scaleY);
这允许您获取图像样本,使其变小,然后放大,使其保持相同的大小。inSampleSize是scaleX和scaleY的大小,用于放大
可能的问题:像素化。根据图像的大小,情况不会太糟,但您将看到其中的一些
这是为了解决设备的约束。我会检查图像的宽度和高度有多大,如果它>GL_MAX_TEXTURE_SIZE,它会做一些数学运算,并在balue下生成
我相信下一个标准是: