解決uniapp微信小程序canvas不能引入外部字體的問題

仔細(xì)查閱了uniapp的文檔滤否,里面提到了一個(gè)api

這里的source必須是網(wǎng)絡(luò)地址,指向字體的下載鏈接。 因?yàn)槲覜]有服務(wù)器硝逢,所以我使用了免費(fèi)網(wǎng)站托管服務(wù)器。

下面是部分必要代碼片段

export default {

components: {},

data() {

return {

canvasW:0, // 畫布寬

canvasH:0, // 畫布高

SystemInfo:{}, // 設(shè)備信息

text:'有志者事竟成',

type:2,

ctx:null,

textPos:[],

fontSize:36,

singleText:'',

imgUrl:require('./bg.jpg'),

wid:80,

hei:80,

result_img:'',

canvasWBig:0, // 畫布寬

canvasHBig:0, // 畫布高,

visible:false,

canvas:null,

showCtx:null,

startDIY:false,

fontFamily:['sans-serif','kaiti','yunfeng','jianhao'],

fontUrl:['','https://spkf-zsxn-prod.s3.cn-north-1.amazonaws.com.cn/pic/livecenter/kaiti.ttf','https://my-font-library.pages.dev/yunfeng.ttf','https://my-font-library.pages.dev/jianhao.ttf'],

family:'sans-serif',? //默認(rèn)

useColorStr:'black',

colorBarShow:false,

redShow:false,

greenShow:false,

blackShow:true,

yellowShow:false,

blueShow:false

}

},

setFont(family){

this.family = family

let self = this;

if(family!='sans-serif'){

let fontUrl = ''

if(family==='kaiti'){

fontUrl = self.fontUrl[1]

}else if(family==='yunfeng'){

fontUrl = self.fontUrl[2]

}

else if(family==='jianhao'){

fontUrl = self.fontUrl[3]

}

uni.loadFontFace({

global: true, // 是否全局生效

family: family, // 定義的字體名稱

source: 'url("'+fontUrl+'")', // 字體資源的地址绅喉。建議格式為 TTF 和 WOFF渠鸽,WOFF2 在低版本的iOS上會不兼容。

success() {

console.log('成功的回調(diào)函數(shù)')

self.family = family

self.ctx.font = self.fontSize+"px "+self.family

console.log(self.ctx.font)

self.showMsg(self.ctx.font)

self.ctx.fillStyle = self.useColorStr;

self.drawNewFont()

},

fail(){

? console.log('失敗的回調(diào)函數(shù)')

},

complete(){

? //console.log('接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功柴罐、失敗都會執(zhí)行)')

},

scopes: ["webview", "native"],

})

}else{

self.family = family

self.ctx.font = self.fontSize+"px "+self.family

console.log(self.ctx.font)

self.showMsg(self.ctx.font)

self.ctx.fillStyle = self.useColorStr;

self.drawNewFont()

}

},

APP和H5字體是正常的徽缚,不管是用uni.loadFontFace還是用@font-face都可以直接用,就小程序事情多

下面效果圖


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末丽蝎,一起剝皮案震驚了整個(gè)濱河市猎拨,隨后出現(xiàn)的幾起案子膀藐,更是在濱河造成了極大的恐慌,老刑警劉巖红省,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件额各,死亡現(xiàn)場離奇詭異,居然都是意外死亡吧恃,警方通過查閱死者的電腦和手機(jī)虾啦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來痕寓,“玉大人傲醉,你說我怎么就攤上這事∩肼剩” “怎么了硬毕?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長礼仗。 經(jīng)常有香客問我吐咳,道長,這世上最難降的妖魔是什么元践? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任韭脊,我火速辦了婚禮,結(jié)果婚禮上单旁,老公的妹妹穿的比我還像新娘沪羔。我一直安慰自己,他們只是感情好象浑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布蔫饰。 她就那樣靜靜地躺著,像睡著了一般融柬。 火紅的嫁衣襯著肌膚如雪死嗦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天粒氧,我揣著相機(jī)與錄音越除,去河邊找鬼。 笑死外盯,一個(gè)胖子當(dāng)著我的面吹牛摘盆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播饱苟,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼孩擂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了箱熬?” 一聲冷哼從身側(cè)響起类垦,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤狈邑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蚤认,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體米苹,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年砰琢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蘸嘶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡陪汽,死狀恐怖训唱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挚冤,我是刑警寧澤况增,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布克蚂,位于F島的核電站崇渗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜舍哄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望誊锭。 院中可真熱鬧表悬,春花似錦、人聲如沸丧靡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽温治。三九已至饭庞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間熬荆,已是汗流浹背舟山。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卤恳,地道東北人累盗。 一個(gè)月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像突琳,于是被迫代替她去往敵國和親若债。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容