在图像上书写文字的最佳方法?

时间:2012-04-15 17:59:35

标签: android imageview android-canvas

我想拍一张小日历图片并在上面写上日期和月份。这将在列表视图中多次显示,因此我正在寻找最佳方法。

以下作品很棒,有更好的方法:

ImageView image = (ImageView) findViewById(R.id.imageView2);
try {
    // Load the png image into a bitmap
    Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.calendar_empty);
    // Have to copy the bitmap so it is mutable
    mBitmap = mBitmap.copy(Bitmap.Config.ARGB_8888, true);
    // Create a canvas from the bitmap to draw on
    Canvas canvas = new Canvas(mBitmap);
    Paint paint = new Paint();
    paint.setColor(Color.BLACK);
    paint.setTextSize(12);
    paint.setAntiAlias(true);
    canvas.drawText("Sept", 11, 26, paint);
    paint.setTextSize(18);
    canvas.drawText("29", 14, 42, paint);
    // Display the results on the screen
    image.setImageDrawable(new BitmapDrawable(this.getResources(), mBitmap));
} catch (Exception e) {
    e.printStackTrace ();
}

1 个答案:

答案 0 :(得分:2)

为什么不直接使用ImageView,并在其上放置一个TextView作为标题的叠加层,在布局容器中启用它 - 例如RelativeLayout还是FrameLayout?

我有几个项目,我用这种方式在图像上写标题,这种方法没有问题。