HTML5 canvas 文字自動換行
html5 的canvas 提供了多樣性的功能。
在canvas中提供了將文字作為圖片輸出到畫布上的功能,通常用到的函式主要有canvas.drawText 和canvas.fillText兩個。
以canvas.fillText()函式為例,在canvas.fillText("information" , width , height , maxwidth )中包含四個引數,"information"表示文字輸出的內容,width和height分別表示你想要輸出的文字起始字元左上角的位置,而maxwidth則表示了該字串的最大寬度,例如將maxwidth設為100,則無論字串有多長,都將限制在100畫素寬度內。
下面程式碼則寫了一個可以將長字串自動換行的程式。程式碼如下:
function draw_long_text(longtext,cxt,begin_width,begin_height) { var linelenght = 20; var text = ""; var count = 0; var begin_width = begin_width; var begin_height = begin_height; var stringLenght = longtext.length; var newtext = longtext.split(""); var context = cxt; context.clearRect(0,0, 600,300); context.textAlign = 'left'; for(i = 0; i <= stringLenght ; i++) { if(count == 20) { context.fillText(text,begin_width,begin_height); begin_height = begin_height + 25; text = ""; count = 0; } if(i == stringLenght) { context.fillText(text,begin_width,begin_height); } var text = text + newtext[0]; count ++; newtext.shift(); } }
其中cxt為獲取到的canvas的例項。將上述程式碼儲存為js檔案,然後在html中引用,就可以實現字元自動換行了。
相關推薦
HTML5 canvas 文字自動換行
html5 的canvas 提供了多樣性的功能。 在canvas中提供了將文字作為圖片輸出到畫布上的功能,通常用到的函式主要有canvas.drawText 和canvas.fillText兩個。 以canvas.fillText()函式為例,在canvas.fillTex
canvas文字自動換行、圓角矩形畫法、生成圖片手機長按保存
UNC get 函數 odata -i 圓角 ont eight nehe canvas的文字自動換行函數封裝 // str:要繪制的字符串 // canvas:canvas對象 // initX:繪制字符
html5-canvas的繪製文字自動換行
本文介紹怎麼解決canvas繪圖過程中,drawText的換行問題,先看一個大家平時在canvas繪製文字都會遇到的問題: 一個150*100的canvas畫布,加個邊框明顯邊界 <canvas id="canvas" styl
canvas的繪製文字自動換行 最簡單實現
先看下效果圖: 程式碼如下,後面解釋(小程式為例) content = "canvas的繪製文字自動換行 By Frank"; const ctx = wx.createCanvasContext('canvas'); ctx.setFontSize(1
cocos2d-html5 文字自動換行
提醒:本文最後更新於 2025 天前,文中所描述的資訊可能已發生改變,請謹慎使用。 某次使用 cocos2d-html5 時發現,通過 cc.LabelTTF 顯示的文字即使寬度超過了預設值,也不會自動換行。上網搜了下,很多人都遇到了同樣的問題。 之前用 cocos2d-x 的 CCLabelTTF
JSP中table表格中的文字自動換行
style="display:inline-block;width:300px;word-wrap:break-word;white-space:normal" <span></span> style樣式+span標籤 <td align="left"
對於span標籤內文字自動換行的屬性white-space
<span style="white-space: pre-wrap;"> 測試資料 </span> white-space -- 通過HTML文件的原始碼的排版方式控制頁面顯示文字的排版方式 取值: normal | pre | nowrap |
C++使用Uniscribe進行文字自動換行的計算和渲染
Uniscribe是Windows 2000以來就存在於WinAPI中的一個庫。這個庫能夠提供給我們關於字串渲染的很多資訊,譬如說哪裡可以換行啦,渲染的時候字元的順序應該是什麼樣子啦,還有每一個字元的大小什麼的。關於Uniscribe的資料可以在http://msdn.microsoft.com/
mxGraph圖形文字自動換行
兩種方式。 1、直接設定預設樣式 style[mxConstants.STYLE_WHITE_SPACE]='wrap' 2、重寫mxCellRenderer.prototype.createLabel方法,將其中state.text進行更改,原來的程式碼如下
css控制文字自動換行
自動換行問題,正常字元的換行是比較合理的,而連續的數字和英文字元常常將容器撐大,挺讓人頭疼,下面介紹的是CSS如何實現換行的方法對於div,p等塊級元素正常文字的換行(亞洲文字和非亞洲文字)元素擁有預設的white-space:normal,當定義的寬度之後自動換行html正
WinForm系列——DataGridView單元格文字自動換行
DataGridView是.NET開發中常用的控制元件,在開發中發現大文字資料顯示時無法在介面上完全顯示,以下是我的解決方法。 (1)首先要保證單元格的為Text型別 (2)在程式中加入以下的程式碼片段 //設定資料來源 this.dataGridView1.
C#: WinForm系列——DataGridView單元格文字自動換行
DataGridView是.NET開發中常用的控制元件,在開發中發現大文字資料顯示時無法在介面上完全顯示,以下是我的解決方法。 (1)首先要保證單元格的為Text型別 (2)在程式中加入以下的程式碼片段 String str1 = "mac:192.168.0.121"; String str
iOS開發之UIlabel多行文字自動換行 (自動折行)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Uniscribe文字自動換行
我們獲得了每個字形的寬度陣列piAdvances,以及這個RUN所佔用的總寬度abc。 piVdvances對應於每個字元,它取得了每個字形所佔用寬度。 如果我們以行為單位來繪製文字,我們可以以一個迴圈來取得每個RUN的寬度資訊,並一直相加,假設我們己取得了一些run的寬度和,假設這個寬度和為Li
[轉]C#控制元件——DataGridView單元格文字自動換行
DataGridView是.NET開發中常用的控制元件,在開發中發現大文字資料顯示時無法在介面上完全顯示,以下是我的解決方法。 (1)首先要保證單元格的為Text型別 (2)在程式中加入以下的程式碼片段 //設定資料來源 this.dataGridView1.DataSource = dt;
CSS解決文字自動換行
1.單行文字溢位隱藏:p{ text-overflow: ellipsis;//必須 white-space: nowrap;//必須 overflow: hidden;//必須 }2.多行文字溢位隱藏: (只適用移動端和 chrome)p{word-break: brea
WPF控制元件TextBlock中文字自動換行
在很多的WPF專案中,往往為了追求介面的美觀,需要控制控制元件中文字的換行顯示,現對TextBlock控制元件換行的實現方式進行總結,希望大家多多拍磚!!! 1.使用轉義字元 在XAML檔案中,實現方式如下: <TextBlock x:Name="textBlock
CDC:DrawText多行顯示文字的問題(文字自動換行)
引數: hdc:裝置環境控制代碼。 lpString:指向將被寫入的字串的指標,如果引數nCount是C1,則字串必須是以\0結束的。 如果uFormat包含DT_MODIFYSTRING,則函式可為此字串增加4個字元,存放字串的緩衝區必須足夠大,能容納附加的字元。 nCoun
IE7瀏覽器float:left li標籤文字自動換行
Li標籤Float:left在做網頁側欄的一些tags的時候,是一種很好的選擇。不過在中文字元上,可能會出現一點小問題,先看一張IE7和IE8下的效果圖吧: 看起來的確狠蛋疼,在標準瀏覽器中是不會出現上圖IE7的效果的。先看下程式碼結構 <style>
iReport文字自動換行設定
1、 選中要自動換行的text框,勾選中屬性面板中的“StretchWith Overflow”屬性 2、 選中該欄位所在行的所有欄位(包括行頭),在“屬性”面板中將“Stretch Type”設定為“Relative to Tallest Object”