我正在从事 Android 应用程序开发。我的目的是使用设备相机捕获图像,并将当前日期和时间作为文本添加到捕获的图像上。并将整个事物作为单个图像上传到服务器上。
问问题
951 次
2 回答
1
在这里阅读
编辑:
Bitmap photo = (Bitmap) data.getExtras().get("data");
//create bitmap with a canvas
Bitmap newPhoto = Bitmap.createBitmap(photo.getWidth(),photo.getHeight());
Canvas canvas = new Canvas(newPhoto);
canvas.drawBitmap(photo,0,0,null);
//draw the text
Paint paint = new Paint();
//paint.setColor(Color.BLACK);
canvas.drawText("write bla bla bla",x,y,paint);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
newPhoto.compress(Bitmap.CompressFormat.PNG, 100, stream);
//get bytes from stream and send to your server
于 2012-10-31T09:39:21.783 回答
0
扩展一个 View,例如 ImageView:
public class MyImageView extends ImageView{}
覆盖 onDraw()
@Override
public void onDraw(Canvas canvas){
// draw the image you got from the camera
canvas.drawBitmap(cameraImage, 0, 0, paint);
// draw the date
canvas.drawText("Date string", x, y, paint);
}
当您要发送图像时:
myImageView.buildDrawingCache();
Bitmap bmp = myImageView.getDrawingCache();
对于发送到服务器,这是另一个问题,这里有很多关于 SO 的示例。祝你好运。
于 2012-10-31T09:56:57.407 回答