Tag: 位图

BitmapFactory.decodeResource在Android 2.2中返回一个可变的位图,在Android 1.6中返回一个不可变的位图

我正在开发一个应用程序,并在运行Android 2.2的设备上进行testing。 在我的代码中,我使用了一个使用BitmapFactory.decodeResource检索的位图,并且可以通过对其调用bitmap.setPixels()进行更改。 当我在运行Android 1.6的朋友的设备上testing这个时,我在调用bitmap.setPixels遇到了IllegalStateException 。 在线文档说,当位图是不可变的时, IllegalStateException从这个方法抛出。 这个文档没有decodeResource任何有关decodeResource返回一个不可变的位图的信息,但是显然必须是这样的。 是否有一个不同的调用,我可以使一个可变的位图可靠地从一个应用程序资源,而不需要第二个Bitmap对象(我可以创build一个可变的一个相同的大小,并绘制到包装它的canvas,但是这将需要两个相等的位图大小使用了两倍的内存,我想要的)?

使用毕加索获得一个位图的callback

我正在使用毕加索下载我的应用程序的图像。 我处于需要在加载到ImageView之前首先访问Bitmap的情况。 Downloader.Response类的存在似乎表明这是可能的,但我找不到任何使用示例。 我不想写更多的代码来asynchronous处理这个特殊的情况,如果可能的话,毕加索。 任何人都可以告诉我如何做到这一点?

在运行时调整图像的质量问题

我在磁盘上有一个图像文件,我正在调整文件大小并将其保存为磁盘作为新的图像文件。 为了这个问题,我没有把它们带入记忆中,只是为了在屏幕上显示它们,只是调整它们并重新保存它们。 这一切工作得很好。 然而,缩放的图像有像这里显示的人工制品: android:在运行时resize的图像的质量 他们被保存了这个扭曲,因为我可以把他们从磁盘上拿出来,在我的电脑上看着他们,他们仍然有同样的问题。 我正在使用类似于此奇怪的内存不足问题的代码加载到Bitmap对象的图像解码到内存中的位图: BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(imageFilePathString, options); int srcWidth = options.outWidth; int srcHeight = options.outHeight; int scale = 1; while(srcWidth / 2 > desiredWidth){ srcWidth /= 2; srcHeight /= 2; scale *= 2; } options.inJustDecodeBounds = false; options.inDither = false; options.inSampleSize = scale; Bitmap sampledSrcBitmap […]

将图像转换为灰度

有没有办法将图像转换为灰度16位像素格式,而不是设置每个r,g和b组件的亮度。 我目前有一个从文件bmp。 Bitmap c = new Bitmap("filename"); 我想要一个位图d,即c的灰度版本。 我看到包含System.Drawing.Imaging.PixelFormat的构造函数,但我不明白如何使用它。 我是image processing和相关C#库的新手,但对C#本身有一定的经验。 任何帮助,参考在线来源,暗示或build议将不胜感激。 谢谢。 编辑:D是C的灰度版本。

Android从URL加载到位图

我有一个关于从网站加载图像的问题。 我使用的代码是: Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight(); Bitmap bit=null; try { bit = BitmapFactory.decodeStream((InputStream)new URL("http://www.mac-wallpapers.com/bulkupload/wallpapers/Apple%20Wallpapers/apple-black-logo-wallpaper.jpg").getContent()); } catch (Exception e) {} Bitmap sc = Bitmap.createScaledBitmap(bit,width,height,true); canvas.drawBitmap(sc,0,0,null); 但它总是返回一个空指针exception,程序崩溃了。 该URL是有效的,似乎适用于其他人。 我正在使用2.3.1。

Android:位图回收()如何工作?

比方说,我已经加载了像位图对象的图像 Bitmap myBitmap = BitmapFactory.decodeFile(myFile); 现在,如果我加载另一个位图会发生什么 myBitmap = BitmapFactory.decodeFile(myFile2); 第一个myBitmap发生了什么,它会得到垃圾收集或我必须手动垃圾收集它加载之前,另一个位图,例如。 myBitmap.recycle() 还有一种更好的方式来加载大图像并在路上循环显示它们

Android:从图库加载的位图在ImageView中旋转

当我从媒体库加载一个图像到一个位图,一切都工作正常,除了用相机拍摄的照片,而垂直拿着手机,旋转,使我总是得到一个水平的图片,即使它出现在垂直的画廊。 为什么是这样的,如何正确加载它?

快速使用C#中的位图

我需要访问位图的每个像素,使用它们,然后将它们保存到位图。 使用Bitmap.GetPixel()和Bitmap.SetPixel() ,我的程序运行缓慢。 我怎样才能快速转换Bitmap到byte[]然后回来? 我需要一个length = (4 * width * height)的byte[] ,其中包含每个像素的RGBA数据。

在Android上将视图转换为位图

我需要将视图转换为位图来预览我的视图并将其保存为图像。 我尝试使用下面的代码,但它创build一个空白图像。 我不明白我犯了什么错误。 View viewToBeConverted; Bitmap viewBitmap = Bitmap.createBitmap(viewToBeConverted.getWidth(), viewToBeConverted.getHeight(),Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(viewBitmap); viewToBeConverted.draw(canvas); savephoto(“f1”, viewBitmap); //// public void savephoto(String filename,Bitmap bit) { File newFile = new File(Environment.getExternalStorageDirectory() + Picture_Card/"+ filename+ ".PNG"); try { newFile.createNewFile(); try { FileOutputStream pdfFile = new FileOutputStream(newFile); Bitmap bm = bit; ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.PNG,100, baos); […]

Android相机意图:如何获得全尺寸的照片?

我正在使用意图启动相机: Intent cameraIntent = new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE); getParent().startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); 并使用: Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); photoImage.setImageBitmap(thumbnail); photoImage.setVisibility(View.VISIBLE); 但它只是一个缩略图,我怎么得到完整的位图? 我知道我可以使用我自己的活动,并使用: Camera.PictureCallback() 但无论如何,使用意图呢? 谢谢! 编辑: 我也试过: public void onActivityResult(int requestCode, int resultCode, Intent data) { Uri uri = data.getData(); imageView.setImageURI(uri); } 它适用于从图库中select的照片,但对于照相机意图,data.getData()返回null。