Tag: 位图

如何将Drawable转换为位图?

我想设置一个特定的Drawable作为设备的壁纸,但所有壁纸function只接受Bitmap s。 我无法使用WallpaperManager因为我在2.1之前。 此外,我的绘图从网上下载,不居住在R.drawable 。

将位图保存到位置

我正在开发一项function,从networking服务器上下载图像,将其显示在屏幕上,如果用户希望保留图像,请将其保存在SD卡中的某个文件夹中。 有一个简单的方法来获取位图,并将其保存到我select的文件夹中的SD卡? 我的问题是,我可以下载图像,显示在屏幕上的位图。 我已经能够find将图像保存到特定文件夹的唯一方法是使用FileOutputStream,但需要一个字节数组。 我不知道如何转换(如果这是正确的方式)从位图到字节数组,所以我可以使用FileOutputStream来写入数据。 我有另一个select是使用MediaStore: MediaStore.Images.Media.insertImage(getContentResolver(), bm, barcodeNumber + ".jpg Card Image", barcodeNumber + ".jpg Card Image"); 这工作正常,以保存到SD卡,但不允许您自定义文件夹。

如何在Android中通过URL加载ImageView?

如何在ImageView使用URL引用的ImageView ?

在将图像加载到Bitmap对象时出现内存不足的问题

我有一个列表视图与每行上的几个图像button。 当您单击列表行时,它将启动一个新的活动。 由于相机布局的问题,我不得不build立自己的选项卡。 为结果启动的活动是一张地图。 如果我点击我的button启动图像预览(从SD卡加载图像),应用程序从活动返回到listview活动的结果处理程序重新启动我的新活动,这不过是一个图像小部件。 列表视图上的图像预览正在使用游标和ListAdapter 。 这使得它非常简单,但我不知道如何可以放置一个resize的图像(即小图像大小不是像素的图像button的src ,所以我只是调整了手机相机的图像。 问题是,当它尝试返回并重新启动第二个活动时,出现内存不足错误。 有没有一种方法,我可以轻松地逐行build立列表适配器,在哪里我可以在飞行( 位智者 )resize? 这将是更可取的,因为我也需要对每一行中的部件/元素的属性进行一些更改,因为焦点问题,我无法select带触摸屏的行。 ( 我可以使用滚球。 ) 我知道我可以做一个带外resize和保存我的图像,但这不是我想要做的,但一些示例代码将是很好的。 只要我在列表视图中禁用图像,它再次正常工作。 仅供参考:我是这么做的: String[] from = new String[] { DBHelper.KEY_BUSINESSNAME,DBHelper.KEY_ADDRESS,DBHelper.KEY_CITY,DBHelper.KEY_GPSLONG,DBHelper.KEY_GPSLAT,DBHelper.KEY_IMAGEFILENAME + ""}; int[] to = new int[] {R.id.businessname,R.id.address,R.id.city,R.id.gpslong,R.id.gpslat,R.id.imagefilename }; notes = new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to); setListAdapter(notes); 其中R.id.imagefilename是一个ButtonImage 。 这是我的LogCat: 01-25 05:05:49.877: ERROR/dalvikvm-heap(3896): 6291456-byte external allocation too […]

使用意向Android发送位图

我有一个位图变量在Activity1名称是bmp ,我想发送到Activity2使用此代码: Intent in1 = new Intent(this, Activity2.class); in1.putExtra("image",bmp); startActivity(in1); 在Activity2中,我这样称呼它: Bundle ex = getIntent().getExtras(); Bitmap bmp2 = ex.getParceable("image"); ImageView result = (ImageView)findViewById(R.Id.imageView1); result.setImageBitmap(bmp); 为什么当我运行程序,它只是运行,不给任何结果? 任何人都可以帮助我?

OutOfMemoryError:位图大小超过虚拟机预算: – Android

可能重复: Android:加载图像到Bitmap对象时出现内存不足的问题 我从Url下载图像并显示它们。 在下载的时候,它给出out of memory error : bitmap size exceeds VM budget 。 我正在使用drawable。 代码如下: HttpClient httpclient= new DefaultHttpClient(); HttpResponse response=(HttpResponse)httpclient.execute(httpRequest); HttpEntity entity= response.getEntity(); BufferedHttpEntity bufHttpEntity=new BufferedHttpEntity(entity); InputStream instream = bufHttpEntity.getContent(); Bitmap bm = BitmapFactory.decodeStream(instream); Bitmap useThisBitmap = Bitmap.createScaledBitmap(bm,bm.getWidth(),bm.getHeight(), true); bm.recycle(); BitmapDrawable bt= new BitmapDrawable(useThisBitmap); System.gc(); 这是错误: 05-28 14:55:47.251: ERROR/AndroidRuntime(4188): java.lang.OutOfMemoryError: bitmap size exceeds […]

将视图转换为位图而不显示在Android?

我会尽力解释我到底需要做什么。 我有3个独立的屏幕说A,B,C。 还有另一个叫做HomeScreen的屏幕,其中所有3个屏幕位图都应该显示在图库视图中,并且用户可以选择他想要去哪个视图。 我已经能够获得所有3个屏幕的位图,并通过将所有代码放置在HomeScreen活动中,将其显示在图库视图中。 现在,这已经使代码复杂了许多,我想简化它。 所以,我可以从HomeScreen调用另一个Activity,不显示它,只是获得该屏幕的位图。 例如,假设我只是调用HomeScreen,它将调用活动A,B,C,并且不显示A,B,C中的任何活动。 它只是通过getDrawingCache()给出该屏幕的位图。 然后我们可以在HomeScreen中的图库视图中显示这些位图。 我希望我已经非常清楚地解释了这个问题。 请让我知道这是否可能。

在C中显示一个颜色数组

我的程序都写了一个像这样的颜色读取阵列: struct Image { size_t width; size_t height; struct Color *data; } struct Color { char r; char g; char b; } 我怎样才能在C屏幕上显示这样的数组?