jjzjj

decodeByteArray

全部标签

android - BitmapFactory.decodeByteArray 在 android 中返回 null

在我的应用程序中,我将base64字符串转换为图像。为此,我最初将base64文件转换为字节数组,后来尝试转换为图像。要转换为图像,我使用以下代码FilesdImageMainDirectory=newFile("/data/data/com.ayansys.Base64trial");FileOutputStreamfileOutputStream=null;StringnameFile="Images";try{BitmapFactory.Optionsoptions=newBitmapFactory.Options();options.inSampleSize=5;options

Android onPictureTaken 回调在 Bitmap.decodeByteArray 中抛出内存异常

我拥有一台SamsungGalaxyS3,它能够拍摄大小约为3000x2000的照片。而且,我目前正在开发一个需要拍摄照片的应用程序。我将手机用作调试器,并设置设备为要捕获的图片提供的最佳尺寸。但是,如果我使用此设置,回调onPictureTaken在我尝试解码的Bitmap.decodeByteArray方法的第一行给出内存不足错误将捕获的字节转换为位图。如果我使用Bitmap.Options.inSampleSize=2,不会发生内存不足错误。我希望应用程序能够捕捉设备提供的最佳效果,并且设备在其自己的相机应用程序中执行此操作,但我不能在我的应用程序中执行此操作。我不明白。我该如何

android - 有没有一种简单的方法可以将相机的onPreviewFrame中的字节数组转换为android中的图片?

我问是否有一个简单的方法,因为有一个谷歌问题报告说使用decodeByteArray是不可能的。但该报告起源于2008年,我希望那里没有发布解决方案。问题报告中列出的方法是自己解码格式,但我宁愿不必将其放入并减慢程序速度。任何帮助都将不胜感激。 最佳答案 我假设您的字节数组来自相机预览?如果是这样,您必须对其进行解码,但现在使用2.2非常容易。从字节数组创建一个YUV图像,因为数据将只在ImageFormat.NV21(intcode17)img=newYuvImage(imgData,ImageFormat.NV21,width,

android - 直接从字节数组裁剪图像

我有一个字节数组,其中包含一个图像...我想将其保存为裁剪后的图像。我的工作方法是:得到字节[]使用BitmapFactory.decodebytearray将其转换为位图使用createbitmap(sourceBitmap,x1,y1,whileX,whileY)从中制作另一个位图回收第一个(未裁剪的)保存第二个,然后也回收它问题是有一段时间它存在2个位图,原始位图和裁剪后的位图,这就是为什么我不能将此方法用于较大的图像(超过3MP)有没有办法直接从字节数组裁剪图像?我看到有一个decodeByteArray(dataArray,offset,length,options),但我无

Android:BitmapFactory.decodeByteArray 给出像素化位图

我正在开发一个Android应用程序,它可以显示从Flickr下载的照片。我从一个字节数组中获取一个位图对象,该数组又从相关的FlickrURL中读取,如下所示:BitmapFactory.Optionsopt=newBitmapFactory.Options();opt.inDither=true;opt.inPreferredConfig=Bitmap.Config.ARGB_8888;Bitmapbitmap=BitmapFactory.decodeByteArray(data,0,data.length,opt);然后我在View对象的onDraw方法中将位图绘制到Canvas

Android - BitmapFactory.decodeByteArray - OutOfMemoryError (OOM)

我已经阅读了100多篇关于OOM问题的文章。大多数是关于大位图的。我正在做一个map应用程序,我们在其中下载256x256天气叠加图block。大多数是完全透明的并且非常小。我刚刚在调用BitmapFactory.decodeByteArray(....)时在442字节长的位图流上发生崩溃。异常状态:java.lang.OutOfMemoryError:bitmapsizeexceedsVMbudget(HeapSize=9415KB,Allocated=5192KB,BitmapSize=23671KB)代码是:protectedBitmapretrieveImageData()th

android - 调整由 BitmapFactory.decodeByteArray() 生成的图像

我正在创建音频播放器,我想向播放器显示歌曲封面,它使用小图像工作,但如果mp3文件有大图像,则它会退出布局View。我正在使用以下代码将图像大小调整为300x300:BitmapFactory.Optionsopt=newBitmapFactory.Options();opt.inDensity=300;opt.inTargetDensity=300;songCoverView.setImageBitmap(BitmapFactory.decodeByteArray(songCover,0,songCover.length,opt));但它仍然显示得更大并且超出了布局。这段代码有什么问

java - Android Bitmap.class 中 native DecodeByteArray 的问题

我正在Android(Java)上解码base64编码图像。它适用于大多数图像,但对于某些图像二进制文件,它返回null。如果我使用在线解码器,有问题的二进制文件工作正常,这告诉我格式是正确的。Base64.class文件中乱七八糟的一段代码是if(!decoder.process(input,offset,len,true)){thrownewIllegalArgumentException("badbase-64");}//Maybewegotluckyandallocatedexactlyenoughoutputspace.if(decoder.op==decoder.outpu

java - decodeByteArray 和 copyPixelsToBuffer 不工作。 SkImageDecoder::Factory 返回空

我有一个TouchPoint类,它实现了Serializable,因为它包含Bitmap,所以我为该类编写了writeObject和readObject:privatevoidwriteObject(ObjectOutputStreamoos)throwsIOException{longt1=System.currentTimeMillis();oos.defaultWriteObject();if(_bmp!=null){intbytes=_bmp.getWidth()*_bmp.getHeight()*4;ByteBufferbuffer=ByteBuffer.allocate(b

android - BitmapFactory.decodeByteArray(...) 支持的格式

是否记录(或合理假设)BitmapFactory.decodeByteArray(...)可以预期识别列出的任何图像格式here? 最佳答案 是的,假设是合理的(如果你看一下AOSP的源代码,假设会更合理一些)。BitmapFactory的JNInative方法位于BitmapFactory.cpp中。https://github.com/android/platform_frameworks_base/blob/master/core/jni/android/graphics/BitmapFactory.cpp由于BitmapFa
12