Java 将图像作为文件加载
例如,如何将image.jpg加载为文件 准确地说,此文件是通过以下方式保存的:Java 将图像作为文件加载,java,android,image,file,bitmap,Java,Android,Image,File,Bitmap,例如,如何将image.jpg加载为文件 准确地说,此文件是通过以下方式保存的: public static void saveFile(Context context, Bitmap bitmap, String picName) { FileOutputStream fileOutputStream; try { fileOutputStream = context.openFileOutput(picName, Context.MODE_PRIVATE);
public static void saveFile(Context context, Bitmap bitmap, String picName) {
FileOutputStream fileOutputStream;
try {
fileOutputStream = context.openFileOutput(picName, Context.MODE_PRIVATE);
bitmap.compress(Bitmap.CompressFormat.JPEG, 30, fileOutputStream);
fileOutputStream.close();
} catch (FileNotFoundException e) {
Log.d(TAG, "file not found");
e.printStackTrace();
} catch (IOException e) {
Log.d(TAG, "io exception");
e.printStackTrace();
}
}
所以我只有这个名字作为参考
我试过:
public static Bitmap loadBitmap(Context context, String picName) {
Bitmap bitmap = null;
FileInputStream fileInputStream;
try {
fileInputStream = context.openFileInput(picName);
bitmap = BitmapFactory.decodeStream(fileInputStream);
fileInputStream.close();
} catch (FileNotFoundException e) {
Log.d(TAG, "file not found");
e.printStackTrace();
} catch (IOException e) {
Log.d(TAG, "io exception");
e.printStackTrace();
}
return bitmap;
}
它可以工作,但我需要它是一个文件如果您希望使用文件对象,我建议您始终如一地这样做。使用GetFileDir或getCacheDir作为构建文件的基础,以确定文件的存放位置,例如,新建文件getCacheDir、picName。然后,对I/O使用FileOutputStream和FileInputStream,替换openFileOutput和openFileInput。该文件是来自照相机的图片。我需要在ImageView中显示/缩小它的大小。我只需要它作为一个文件通过POST请求发送它。在那个时候获取位图并转换它不是更有效吗?@一个机器人:在那个时候获取位图并转换它不是更有效吗?-抱歉,我不明白你的意思。我的意思是,当我需要在post请求中发送位图时,使用位图进行显示并将其转换为文件不是更有效吗?@a droid:如果你将额外的输出与动作图像捕获一起使用,那么你已经有了一个文件,不管额外的输出放在哪里。创建第二个文件的效率低于不创建第二个文件。如果未使用EXTRA_输出,并且正在使用getParcelableExtradata中的缩略图位图,则可能会延迟创建文件,直到需要时为止,尤其是当用户可能不选择上载文件时,例如,按BACK键而不是单击upload photo action bar项。