Articles of png

在Android中显示巨大的图像

我打算在Android中显示非常大的图像。 我的第一个解决方案 – 以pdf格式提供它们 – 失败了,因为并非所有掌上电脑都预装了pdf-viewer,我不想要求用户安装一个。 所以我现在要显示一个png (宽度= 3998px高度= 2827px) 。 我下载了这张图片,以测试它将如何显示在图库中。 这真是太痛苦了。 似乎galery只渲染了这张照片一次,如果我放大,我根本无法读取文字。 所以我写了一个testActivity,它只是一个嵌套在LinearLayout中的ImageView。 我将图像放入drawable并将其设置为ImageView的图像源。 不幸的是,应用程序立即崩溃,因为“ ERROR/AndroidRuntime(8906): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget” 我没想到一个单独的图像对于VM’s memory可能太大了。 我玩了一下,将ImageViews大小设置为3998 & 2827px ,将Image放到sdCard并使用fileInputStream手动读取。 令我惊讶的是,它现在显示了我的图像,但如果我将Nexus S水平转动,我会得到与之前相同的OutOfMemoryError 。 有人能指出通过FileInputStream接收Bitmap或将其设置为ImageView’s源之间的主要区别。 此外,我无法使用两个父滚动scrollViews滚动舒适 我寻找一个简单的解决方案,一次显示ONE large image ,能够scroll horizontal and vertical同时能够放大和缩小。 这是我想要显示的图像的示例

Android:最简单的方法来改变一个PNG文件的颜色

我正在写一个基本精灵(一个气球)的游戏 – 目前我有两个不同的彩色气球PNG文件,我已经创build了,我需要创build更多(可能是另外5个左右),不想有像7个不同的PNG文件。 (这将是20个额外的文件,因为我有4个不同大小的缩放目的)我宁愿坚持1 – 我目前有黄色和红色(几乎坚实,但不完全 – 他们有他们的细节)。 问题 – 有没有简单的方法来改变我现有的PNG文件的颜色? 我见过有人提到setColor和setColorFilter但我不能解决如何使用这些。 也将这些甚至工作在PNG文件已经有一个颜色,或者他们只工作在白色PNG文件(我不认为我的PNG可以实际上只是白色)? 谢谢大家的任何帮助,将不胜感激。

png图像显示与Android中的灰色背景

我有一些在我的应用程序中使用的PNG图像button。 但他们在我的页面上显示灰色背景。 Android总是显示一个透明的灰色背景? 有工作吗? 这是以前的情况。 这是我做了#FF000000编辑后显示的 这是我想要它显示的。 编辑: 我使用#FF时出错: 颜色值无效 – 必须是#rgb,#argb,#rrggbb或#aarrggbb(在'background'处,值为'#FF')。 main.xml中

OpenGL ES 2.0 PNG alpha通道

我只是学习与Android的OpenGL ES 2.0的工作。 我一直试图简单地在屏幕中间显示一个纹理,这很容易,但我似乎无法使PNG alpha正常工作。 图像将以黑色背景显示,或整个图像将稍微混合到背景颜色,具体取决于我使用的设置。 为了达到这个目的,我所遵循的实际教程从来没有使用透明度,所以我试图在我通过searchfind的代码中工作,并可能只是错过了一个重要的步骤。 我已经search了很多,以解决这个问题,虽然,我还没有看到有任何答案,我的设置没有。 我已经尝试了glBlendFunc的每一个组合,什么不是没有运气。 我想如果我试图粘贴所有可能与此相关的代码,这个问题看起来会很臃肿,所以我会很高兴地发布任何你想要的代码。 我非常感谢接下来我应该尝试的任何想法。 编辑::这是我的片段着色器,这是我相信是原因。 这是我从来没有真正发现过使用透明度的一个体面的例子的唯一部分,其他所有内容都与我在其他地方看到的一致。 final String fragmentShader = "precision mediump float; \n" + "varying vec2 v_Color; \n" + "uniform sampler2D s_baseMap; \n" + "void main() \n" + "{ \n" + " vec4 baseColor; \n" + " baseColor = texture2D( s_baseMap, v_Color ); \n" + " gl_FragColor […]

Android:PNG透明度与BitmapFactory.decodeStream(…)和资产文件夹失败

我正在使用以下方法从我的Android应用程序的资产文件夹中提取PNG文件: public static Bitmap getBitmapFromAssets(Context context, String fileName) { try { AssetManager assetManager = context.getAssets(); InputStream inputStream = assetManager.open(fileName); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); return bitmap; } catch(Exception ex) { ex.printStackTrace(); return null; } } 然后,我在GridView的项目中将ImageView的源设置为该位图。 这里是有问题的布局XML: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/containingLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_horizontal" android:background="@android:color/transparent" android:padding="0dp" android:layout_margin="0dp" > <ImageView android:id="@+id/ivPackageIcon" style="@style/smLargeGridItemPackageIconStyle" /> </LinearLayout> XML中提到的风格是: <style name="smLargeGridItemPackageIconStyle"> […]

由于图像大的应用程序大小。 如何压缩.PNG图像?

我正在开发一个应用程序,有很多的图像工作,由于我的应用程序的大小变得非常大。 我想压缩或类似的东西,以减less应用程序的大小。 任何想法?

由png和overlay组成的可绘制的XML

我有一个PNGbutton,这是启用,不按下。 当用户点击button时,我只想让png变暗。 我需要这样的东西: <selector xmlns:android="http://schemas.android.com/apk/res/android" > //normal button with background my_button.png <item android:state_enabled="true" android:drawable="@drawable/my_button" //my_button.png /> //pressed button with background my_button.png overlayed by 50% black <item android:state_pressed="true" android:state_enabled="true" > <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <bitmap android:src="@drawable/my_button"/> <color android:color="#00000088"/> </RelativeLayout> </item> </selector> 有什么办法如何做到这一点? 或者我必须有另一个PNG文件?

在高分辨率资产的Android市场上的透明PNG

我试图上传一个带有透明背景的标志到android市场。 出于某种原因,我的PNG正在被市场转化,消除透明度。 我的devise师正在尽最大努力按照https://market.android.com/support/bin/answer.py?answer=1078870中的说明进行操作,但我们都不知道哪里出了什么问题。 据我们所知,他在png中做了alpha,但看起来不正确。 这是PNG: 这就是它在市场上的样子: 这似乎是一个在市场上普遍存在的问题,虽然有些应用程序已经设法做对了。 我们做错了什么?

Android Studio 1.3 SVG转换为png

在最近的谷歌IO 2015年,谷歌宣布,新的Android Studio 1.3 /新gradle插件将支持导入和SVG文件和生成系统将生成不同的设备密度资产(hdpi,xhdpi,xxhdpi等): http://robovm.com/google-io-summary-whats-new-in-android-development-tools/ https://www.youtube.com/watch?v=f7ihSQ44WO0&feature=youtu.be&t=2m46s 不幸的是,似乎没有关于如何实现这一点的更多信息。 有没有人有关于它的更多细节? 这里有一些提到: Android:在res中使用SVG会导致错误:“文件名必须以.xml或.png结尾” 我试图创build一个hello世界的应用程序,并放置一个svg文件(在可绘制的文件夹中重命名为xml)。 它编译并安装在设备上,但在执行过程中崩溃,说svg不是vlaid标记。 假设原始文件需要更多转换。

为什么在Android上PNG压缩比JPEG要慢得多?

我一直在玩Android Bitmaps,并发现,PNG压缩需要比甚至最高质量的JPEG更多的时间。 更多。 在我的设备上,它可以大约10秒,而不是1。 AFAIK,PNG基本上是过滤压缩的像素的string与deflate。 那么,为每个stringfind最好的filter可能是耗时的任务,但是速度和压缩效率之间可能会有妥协。 它不应该比JPEG慢。 这是怎么回事? 也许这是另一回事。 Android上有一些超高速的JPEG实现吗? 更新:我真的只是做一些事情 mBitmap.compress(CompressFormat.JPEG, 100, stream); 和 mBitmap.compress(CompressFormat.PNG, 100, stream);