【发布时间】:2012-02-20 02:40:52
【问题描述】:
我正在尝试为 Android 创建一个小应用程序,它使用设备的相机拍照并在其顶部放置一个 PNG 框架。这样,最终保存的图片将在其顶部有一个海滩,或帽子,或任何东西。有没有人有这种行为的示例程序?
【问题讨论】:
标签: java android mobile titanium
我正在尝试为 Android 创建一个小应用程序,它使用设备的相机拍照并在其顶部放置一个 PNG 框架。这样,最终保存的图片将在其顶部有一个海滩,或帽子,或任何东西。有没有人有这种行为的示例程序?
【问题讨论】:
标签: java android mobile titanium
查看有关使用图像捕获意图 here 的 SDK 文档。
我这样开始我的图像捕捉意图:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE 是我活动中的私人成员:
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
然后使用以下 onActivityResult 处理程序从摄像头取回字节数组:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
Bitmap bmp = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
AddImage(byteArray);
} else if (resultCode == Activity.RESULT_CANCELED) {
// User cancelled the image capture
} else {
// Image capture failed, advise user
}
}
}
之后,您可以对图像进行所有您想要的处理。
【讨论】: