我正在尝试在Honeycomb中启用hw加速,并在Canvas上显示一些Bitmaps.一切正常,但对于大位图(一维> 2048),我在日志中得到错误:
OpenGLRenderer:位图太大而无法上传到纹理中
我知道这是因为hw限制,并且可以通过减少最大位图大小来解决它,如果启用了hw加速(由View.isHardwareAccelerated()检查).
我的问题是:如何轻松确定硬件可用于位图绘制的最大纹理大小.2048似乎是对我的设备的限制,但它可能在不同的设备上有所不同.
编辑:我不是创建OpenGL应用程序,只是普通的应用程序,它可以利用hw加速.因此我根本不熟悉OpenGL,我只是在日志中看到OpenGL相关的错误,并期待解决它.
我有一个Xamarin Forms(2.0)Android应用程序,我正在尝试显示图像.我有一个图标icon-pages-r1.png,我试图使用以下代码显示:
<Image Source="icon-pages-r1.png" />
Run Code Online (Sandbox Code Playgroud)
但是图像没有显示.当我将源更改为Icon.png(默认的Xamarin图标)时,它确实有效.
图像是半透明的PNG(因此中间是彩色图标,周围是透明的),它是46x46,在Windows中它显示为项目类型PNG文件.我尝试在Paint中打开图像并重新保存(这会杀死透明度),但这也不起作用.在Build Action该图像是AndroidResource用Copy to Output Directory设置为Do not copy.
有谁知道为什么我不能在我的应用程序中显示此图像?
我在可绘制文件夹中有270 x 2693像素的图像.当我尝试在imagview中设置该图像时,我得到的Bitmap太大而无法上传到纹理警告中.
图像设置完美的Android设备<4.0但不设置> 4.0设备.
请帮我解决这个问题.
码
<ImageView
android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:contentDescription="@string/name"
android:src="@drawable/hindi" />
Run Code Online (Sandbox Code Playgroud)
这里印地文是一个可绘制文件夹中的图像,其大小为270 x 2693像素.