Articles of bytearray

Android / Java:将字节数组保存到文件(.jpeg)

我正在开发一个Android应用程序,部分应用程序必须拍照并将它们保存到SD卡。 onPictureTaken方法返回一个包含捕获图像数据的字节数组。 我需要做的就是将字节数组保存到.jpeg图像文件中。 我试图在BitmapFactory.decodeByteArray(获取Bitmap)和bImage.compress(到OutputStream),普通OutputStream和BufferedOutputStream的帮助下完成此操作。 所有这三种方法似乎都给了我同样奇怪的错误。 我的Android手机(800万像素摄像头和一个体面的处理器),似乎保存了照片(尺寸看起来正确),但是以一种损坏的方式(图像被切片并且每个切片都被移动;或者我只得到几乎各种颜色的水平线) ; 奇怪的是,带有500万像素摄像头和快速处理器的Android平板电脑似乎可以正确保存图像。 所以我想也许处理器无法跟上保存大图像,因为我在大约3张图片后得到了OutOfMemory Exceptions(即使压缩质量为40)。 但那么内置的相机应用程序是如何做到的,而且速度也快得多? 我很确定(从调试)OutputStream写入所有数据(字节),它应该没问题,但它仍然被破坏。 ***简而言之,将字节数组保存到jpeg文件的最佳/最快方法是什么? 马克,提前谢谢 我尝试过的代码(和其他一些细微的变化): try { Bitmap image = BitmapFactory.decodeByteArray(args, 0, args.length); OutputStream fOut = new FileOutputStream(externalStorageFile); long time = System.currentTimeMillis(); image.compress(Bitmap.CompressFormat.JPEG, jpegQuality, fOut); System.out.println(System.currentTimeMillis() – time); fOut.flush(); fOut.close(); } catch (Exception e) { } 和 try { externalStorageFile.createNewFile(); FileOutputStream fos = new FileOutputStream(externalStorageFile); […]

如何将存储在字节数组中的图像加载到WebView?

大家! 我已经压缩了很多图片到“pictures.zip”文件。 我想将这些图片加载到WebView中,如下所示: WebView wv = (WebView)findViewById(R.id.WebView01); wv.loadDataWithBaseURL(null,"<img src=\"abc.jpg\">", "text/html", "UTF-8", null); 这里“abc.jpg”是一个已经压缩到pictures.zip文件的图片。 我只是想解压缩zip文件中的图片并获取图片的字节stream,然后将图像从字节stream加载到WebView。 我不想从zip文件解压图片,然后将其保存到SD卡,然后加载它。 此外,我不想将pitcture的字节编码到base64,然后将图像加载到WebView,因为这两种方式会非常慢。

翻转保存为byte 数组的图像

我有一个图像存储为一个byte []数组,并且我想在发送它之前在其他地方处理(作为byte []数组)来翻转图像。 我四处search,找不到一个简单的解决scheme,而不处理byte []数组中的每一位。 把字节数组[]转换成某种types的图像types,翻转使用现有的翻转方法,然后将其转换回byte []数组? 有什么build议? 干杯!

如何通过蓝牙读取所有字节?

我有一个应用程序,使用蓝牙从其他设备接收一些数据(字节)。 一切进展顺利,但是我一起收到所有字节的小问题。 收到字节后,我会在Toast上显示它们,以便testing它们。 当其他设备一起发送10个字节(例如:“ABCDEFGHIJ”)时,程序将只读取第一个字节“A”,并显示在Toast上,然后进入第二次迭代,读取另外9个字节,并显示“ BCDEFGHIJ“在吐司上。 这是我的代码: byte[] buffer = new byte[1024]; // Read 1K character at a time. int bytes = 0; // Number of bytes. while(true) { try { // Read from the InputStream. bytes = bInStream.read(buffer); // Send the obtained bytes to the MainActivity. mainActivityHandler.obtainMessage(MainActivity.MESSAGE_READ, bytes, -1, buffer).sendToTarget(); } catch(IOException e) { connectionLost(); […]

将byte 转换为Buffertypes

我正在使用Android。 我需要将byte []转换为Buffertypes。 在Android中,我看到了一个Bufferedtypes,我需要在特定的函数中使用。 但是,我的数据源是typesbyte []。

Android:如何将字节数组转换为位图?

我试图将一个图像从字节[]转换为位图在Android应用程序中显示图像。 byte []的值由数据库得到,我检查它不是null。 之后,我想转换图像,但不能成功。 该程序显示位图的值为空。 我认为在转换过程中存在一些问题。 如果您知道任何提示,请告诉我。 byte[] image = null; Bitmap bitmap = null; try { if (rset4 != null) { while (rset4.next()) { image = rset4.getBytes("img"); BitmapFactory.Options options = new BitmapFactory.Options(); bitmap = BitmapFactory.decodeByteArray(image, 0, image.length, options); } } if (bitmap != null) { ImageView researcher_img = (ImageView) findViewById(R.id.researcher_img); researcher_img.setImageBitmap(bitmap); System.out.println("bitmap is not […]

确保照片以相同的方向保存?

出于某种原因,我的相机应用程序保存所有旋转90度的照片(图片只看起来正确时,相机在风景模式拍摄)我相信onPictureTaken应该自动旋转照片,但我读了三星设备有问题(我还没有能在另一个品牌testing它,所以我不知道是否是这种情况)。 这是我的代码: public void onPictureTaken(byte[] data, Camera camera) { // Generate file name FileOutputStream outStream = null; outStream = new FileOutputStream(filePath); outStream.write(data); outStream.close(); 我以为它可以通过检查方向和旋转字节数组来解决,但是由于处理字节数组是一个痛苦,所以必须有更直接的方法来做到这一点。 我怎样才能确保照片保存与他们被采取的方向相匹配?

Android中DatatypeConverter.printHexBinary(byte 数组)和DatatypeConverter.parseHexBinary(String str)的替代方法

Android中的DatatypeConverter.printHexBinary(byte[] array)和DatatypeConverter.parseHexBinary(String str)的替代方法是什么? Android没有java.xml.bind.DatatypeConverter classDef …

decodeByteArray和copyPixelsToBuffer不起作用。 SkImageDecoder :: Factory返回null

我有一个类TouchPoint,它实现了Serializable,因为它包含位图,我为该类写了writeObject和readObject: private void writeObject(ObjectOutputStream oos) throws IOException { long t1 = System.currentTimeMillis(); oos.defaultWriteObject(); if(_bmp!=null){ int bytes = _bmp.getWidth()*_bmp.getHeight()*4; ByteBuffer buffer = ByteBuffer.allocate(bytes); _bmp.copyPixelsToBuffer(buffer); byte[] array = buffer.array(); oos.writeObject(array); } Log.v("PaintFX","Elapsed Time: "+(System.currentTimeMillis()-t1)); } private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException{ ois.defaultReadObject(); byte[] data = (byte[]) ois.readObject(); if(data != null && data.length > 0){ _bmp = […]

如何将文件读入Java位图?

我知道如何将一个位图文件读入一个字节数组。 如何将字节数组转换为Java位图?