【发布时间】:2016-03-19 11:07:21
【问题描述】:
类似的 SO 问题答案让我的应用程序崩溃。
我正在通过我的相机意图拍照并通过网络将其发送到我的 php 服务器,然后将其保存到目录中。它运行良好。但是正在保存的照片质量有问题(~20KB)。
我知道我的错误。 我阅读了 Android 文档,意识到我实际上是在发送照片缩略图而不是照片本身。这是我的代码
打开相机意图拍照。
addImage = (ImageButton) findViewById(R.id.imageButton);
addImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
}
接收图像。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK){
photo = (Bitmap) data.getExtras().get("data");
addImage.setImageDrawable(null);
addImage.setBackgroundColor(Color.parseColor("#ffffff"));
addImage.setImageBitmap(photo);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] photoByte = baos.toByteArray();
encodedImage = Base64.encodeToString(photoByte,Base64.DEFAULT);
}
}
我想要什么? 我只是想将我的原始图像(而不是缩略图)转换为 Base64 编码字符串(就像我对缩略图所做的那样)。
任何帮助将不胜感激。
[随意提出修改建议。 :)]
【问题讨论】:
标签: android image android-intent android-camera photo