Android 圖片上繪制文字、數(shù)字等

概述

有時會遇到這樣的需求,圖片上繪制文字、數(shù)字,以及兩張圖片合并、圖片上繪制幾何圖案等等。實現(xiàn)原理都是相同的,即拷貝一份背景圖片,應(yīng)用 Canvas 將需要的文字或者圖片繪制到背景圖片上。在這里記錄一個將文字繪制到圖片上的效果,其他同理。
使用場景:地圖的自定義覆蓋物

效果圖

8.JPG
9.JPG

代碼

public class BitmapActivity extends Activity {

    private ImageView ivTuPian;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bitmap);
        ivTuPian = (ImageView) findViewById(R.id.iv_tupian);
        initView();
    }

    private void initView() {
        Bitmap bitmap = setTextToImg("我是繪制上來的");
        ivTuPian.setImageBitmap(bitmap);
    }

    /**
     * 文字繪制在圖片上,并返回bitmap對象
     */
    private Bitmap setTextToImg(String text) {
        BitmapDrawable icon = (BitmapDrawable) getResources().getDrawable(R.drawable.score_bg);

        Bitmap bitmap = icon.getBitmap().copy(Bitmap.Config.ARGB_8888, true);
        Canvas canvas = new Canvas(bitmap);
        Paint paint = new Paint();
        // 抗鋸齒
        paint.setAntiAlias(true);
        // 防抖動
        paint.setDither(true);
        paint.setTextSize(200);
        paint.setColor(Color.parseColor("#ff0000"));
        canvas.drawText(text,(bitmap.getWidth() / 5),(bitmap.getHeight() / 2), paint);
        return bitmap;
    }
}

注:由代碼可以看出實現(xiàn)起來還是比較簡單的。嘗試實現(xiàn)這種效果,可以舉一反三的實現(xiàn)其他同理的效果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容