显示从相机拍摄的照片上的文本并将其保存在图库中

时间:2012-06-22 04:58:15

标签: android

我想在设备相机拍摄的照片上添加文字。因此,一旦触发了Camera intent动作,我就会启动我的活动。我的问题是如何在图片上显示文字,一旦用户点击保存按钮,图片将保存在设备的图库中,带有文字。请给出一些想法。

由于

2 个答案:

答案 0 :(得分:1)

以下代码段将为您提供一些指示

这是你的逻辑。

这里我从drawable资源加载png文件。你需要从目录中获取它。

如果您想提高它的吸引力使用自定义字体,请将它们保存在资产/字体

不要直接对要放置的文本进行硬编码,而是从某处加载它。

使用一些不同的颜色。

我已手动设置文本大小。你应该放一些逻辑(不要硬编码)

在drawText中,我将文本高度硬编码为30.你应该应用一些逻辑来获得文本高度。

最后你有背景位图保存它。

ImageView imageView = (ImageView) findViewById(R.id.image);
Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.sample).copy(Bitmap.Config.ARGB_8888, true);
Canvas canvas = new Canvas(background);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
paint.setStyle(Style.FILL);
paint.setTextSize(50);
paint.setShadowLayer(2.0f, 1.0f, 1.0f, Color.BLACK);

canvas.drawText("Hello Image", (background.getWidth() - paint.measureText("Hello Image")) / 2, background.getHeight() - 30, paint);

imageView.setImageBitmap(background);

答案 1 :(得分:0)

我认为这篇文章真的可以帮助你Link is here..

你应该使用FrameLayout然后在这篇文章中添加你的imageView给出的例子如何设置图像只需添加textview,背景透明,FrameLayout在图像上显示它,你也可以定位它(只需编写你的textview在RelativeLayout)

希望这个解释对你有用......