内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

如何在Android中使用Canvas繪制文字-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)如何在Android中使用Canvas繪制文字,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元漳平做網(wǎng)站,已為上家服務(wù),為漳平各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

【Android】Android中 Paint 字體、粗細(xì)等屬性的一些設(shè)置

在Android SDK中使用Typeface類來定義字體,可以通過常用字體類型名稱進(jìn)行設(shè)置,如設(shè)置默認(rèn)黑體:

Paint mp = new paint();
mp.setTypeface(Typeface.DEFAULT_BOLD)

常用的字體類型名稱還有:

* Typeface.DEFAULT //常規(guī)字體類型

* Typeface.DEFAULT_BOLD //黑體字體類型

* Typeface.MONOSPACE //等寬字體類型

* Typeface.SANS_SERIF //sans serif字體類型

* Typeface.SERIF //serif字體類型

除了字體類型設(shè)置之外,還可以為字體類型設(shè)置字體風(fēng)格,如設(shè)置粗體:

Paint mp = new Paint();
Typeface font = Typeface.create(Typeface.SANS_SERIF, Typeface.BOLD);
p.setTypeface( font );

常用的字體風(fēng)格名稱還有:

* Typeface.BOLD //粗體

* Typeface.BOLD_ITALIC //粗斜體

* Typeface.ITALIC //斜體

* Typeface.NORMAL //常規(guī)

但是有時(shí)上面那些設(shè)置在繪圖過程中是不起作用的,所以還有如下設(shè)置方式:

Paint mp = new Paint();
mp.setFakeBoldText(true); //true為粗體,false為非粗體
mp.setTextSkewX(-0.5f);  //float類型參數(shù),負(fù)數(shù)表示右斜,整數(shù)左斜
mp.setUnderlineText(true); //true為下劃線,false為非下劃線
mp.setStrikeThruText(true); //true為刪除線,false為非刪除線

Paint常用的方法還有:

mp.setTextSize(); //設(shè)置字體大小,int型,如12
mp.setStrokeWidth(w); //設(shè)置線寬,float型,如2.5f,默認(rèn)繪文本無需設(shè)置(默認(rèn)值好像為0),但假如設(shè)置了,再繪制文本的時(shí)候一定要恢復(fù)到0

說明:對于中文粗體的設(shè)置,好像只能通過setFakeBoldText(true)來實(shí)現(xiàn),盡管效果看起來不是很實(shí)在(字體中空效果)。實(shí)際發(fā)現(xiàn),最后繪制的效果與手機(jī)硬件也有些關(guān)系,比如前面的繪圖測試程序.

一個(gè)小應(yīng)用,在圖片上繪制文字,以下是繪制文字的方法,并且能夠?qū)崿F(xiàn)自動換行,字體自動適配屏幕大小

private void drawNewBitmap(ImageView imageView, String str) {
   Bitmap photo = BitmapFactory.decodeResource(this.getResources(), R.drawable.background);
   int width = photo.getWidth();
   int hight = photo.getHeight();
   //建立一個(gè)空的Bitmap
   Bitmap icon = Bitmap.createBitmap(width, hight, Bitmap.Config.ARGB_8888);
   // 初始化畫布繪制的圖像到icon上
   Canvas canvas = new Canvas(icon);
   // 建立畫筆
   Paint photoPaint = new Paint(); 
   // 獲取更清晰的圖像采樣,防抖動
   photoPaint.setDither(true); 
   // 過濾一下,抗劇齒
   photoPaint.setFilterBitmap(true);
   
   Rect src = new Rect(0, 0, photo.getWidth(), photo.getHeight());// 創(chuàng)建一個(gè)指定的新矩形的坐標(biāo)
   Rect dst = new Rect(0, 0, width, hight);// 創(chuàng)建一個(gè)指定的新矩形的坐標(biāo)
   canvas.drawBitmap(photo, src, dst, photoPaint);// 將photo 縮放或則擴(kuò)大到dst使用的填充區(qū)photoPaint
      //自定義的畫筆
   TextPaint textPaint=myTextPaint();
      drawText(canvas,textPaint,str,45,hight/5,width);
   
   canvas.save(Canvas.ALL_SAVE_FLAG);
   canvas.restore();
   
   imageView.setImageBitmap(icon);
   saveMyBitmap(this,icon);
 }
//設(shè)置畫筆的字體和顏色
 public TextPaint myTextPaint(){
   
   TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG);// 設(shè)置畫筆
   int TEXT_SIZE = Math.round(25 * getRATIO());
   textPaint.setTextSize(TEXT_SIZE);// 字體大小
    textPaint.setTypeface(Typeface.DEFAULT_BOLD);// 采用默認(rèn)的寬度
    textPaint.setColor(Color.argb(255,94,38,18));// 采用的顏色
    return textPaint;
//寫入文字,自動換行的方法
 public void drawText(Canvas canvas, TextPaint Paint,String textString,int x,int y,int width) { 
  //int Width=Math.round(width* getRATIO());
  int start_x=Math.round(x * getRATIO());
  int start_y=Math.round(y * getRATIO());
  StaticLayout staticLayout=new StaticLayout(textString, Paint, width-start_x*2, 
        Alignment.ALIGN_NORMAL, 1.5f, 0.0f, false); 
   
  //繪制的位置 
  canvas.translate(start_x, start_y); 
  staticLayout.draw(canvas); 
 }

以上就是如何在Android中使用Canvas繪制文字,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁名稱:如何在Android中使用Canvas繪制文字-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://m.rwnh.cn/article48/hsohp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、App設(shè)計(jì)、做網(wǎng)站、ChatGPT、服務(wù)器托管靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
漾濞| 河东区| 拉萨市| 鸡东县| 上犹县| 固原市| 察雅县| 上高县| 龙门县| 名山县| 财经| 霍林郭勒市| 沈阳市| 晴隆县| 巴林右旗| 安徽省| 海门市| 六枝特区| 延寿县| 庐江县| 平湖市| 云浮市| 峨山| 高雄县| 玛多县| 收藏| 墨玉县| 汕头市| 蕲春县| 兴城市| 遂昌县| 东光县| 永康市| 济宁市| 林口县| 治县。| 乌拉特后旗| 渭源县| 英超| 香河县| 钦州市|