我想在设备相机拍摄的照片上添加文字。因此,一旦触发了Camera intent动作,我就会启动我的活动。我的问题是如何在图片上显示文字,一旦用户点击保存按钮,图片将保存在设备的图库中,带有文字。请给出一些想法。
由于
答案 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)
希望这个解释对你有用......