1. 程式人生 > >移動端canvas出現鋸齒和文字模糊問題

移動端canvas出現鋸齒和文字模糊問題


       最近在做一個轉盤抽獎頁面, 然後轉盤是使用HTML5的canvas元素畫出來的. 然而在幾個手機上測試都發現轉盤有一點鋸齒問題, 而且文字都比較模糊. 除了在上面的canvas標籤中設定了width="422px",height="422px"之外, 還在外部連結的CSS樣式表中設定了該canvas的寬度為100%, 公司的"導師"告訴我, 這個應該是手機的寬是720畫素的, 而這個canvas是按照422畫素畫出來的, 所以在720畫素的手機上顯示時, 這個canvas的內容其實是經過拉伸的, 所以會出現模糊和鋸齒. 解決方案就是把canvas的行間樣式的寬度設為手機端的最大畫素值, 因為現在的手機端寬度的最大的只有1080畫素寬, 所以我就把canvas的寬度設為422的4倍也就是1688畫素, 按照這個畫素畫完之後, width:100%又會把canvas的寬度縮小至父元素的寬度那麼大, 因此整個canvas的寬度被縮小了, 大尺寸的canvas內容被縮小了之後肯定不會產生鋸齒現象, 所以這個解決方案也是可以的.

相關推薦

移動canvas出現鋸齒文字模糊問題

       最近在做一個轉盤抽獎頁面, 然後轉盤是使用HTML5的canvas元素畫出來的. 然而在幾個手機上測試都發現轉盤有一點鋸齒問題, 而且文字都比較模糊. 除了在上面的canvas標籤中設

html5技術教程移動經常出現的兼容問題

span {} click get 偽類 blog ora 字體大小調整 phone 移動端 經常出現的兼容問題 1.安卓瀏覽器看背景圖片,有些設備會模糊 因為手機分辨率太小,如果按照分辨率來顯示網頁,字會非常小,安卓手機devicePixoRadio比較亂,有1.5的,有

移動使用vue-routerkeep-alive

對於web開發和移動端開發,兩者在路由上的處理是不同的。對於移動端來說,頁面的路由是相當於棧的結構的。vue-router與keep-alive提供的路由體驗與移動端是有一定差別的,因此常常開發微信公眾號的我想通過一些嘗試來將兩者的體驗拉近一些。 目標 問題 首先一個問題是keep-alive

實現移動上拉載入下拉重新整理的vue外掛(mescroll.js)

做一個簡單的移動端展示專案,後臺分頁後前端載入,實現上拉載入下一頁,找了下,還是用這個mescroll.js外掛好一點 1.npm安裝 npm install --save mescroll.js //不要使用cnpm安裝 匯入(在哪個頁面使用,則在哪個頁面匯入

移動上拉載入下拉重新整理的vue外掛

做一個簡單的移動端展示專案,後臺分頁後前端載入,實現上拉載入下一頁,找了下,還是用這個mescroll.js外掛好一點 1.npm安裝 npm install --save mescroll.js //不要使用cnpm安裝 匯入(在哪個頁面使用,則在哪個頁面

Web移動頁面 --響應式動態REM

響應式什麼是響應式頁面呢?顧名思義響應式頁面就是能做出響應的頁面,它的頁面效果不是定死的,會隨著使用者的改變而改變。如何著手響應式有以下幾個思考的方向找一份設計圖使用Media Query隱藏元素新增meta viewport明白手機端互動方式的區別Media Query是什麼Media query 翻譯過來

移動適配JSCSS

移動端適配一般是兩種方式一JS方式:setRem(); window.addEventListener("orientationchange", setRem); window.addEventListener("resize", setRem); functio

使用rem在移動出現什麼問題?

Rem為單位 CSS3的出現,他同時引進了一些新的單位,包括我們今天所說的rem。在W3C官網上是這樣描述rem的——“font size of the root element” 。下面我們就一起來詳細的瞭解rem。 前面說了“em”是相對於其父元素來設定

移動canvas不支援rem的解決方案

前一陣開發一套答題系統,最後需要把背景圖,二維碼以及文字等生成一張圖,最後分享出去,沒什麼複雜的邏輯,就是在適配的時候出現了問題,canvas不支援rem這個單位(rem相信大家或多或少都用過),在chrome測試沒發現問題,就是真機測試,字小的看不到。其實解決方案也很簡單,

移動用rem實現 用jq實現的兩種方法

隨著現在移動端越來越方便,專案中移動端的web頁面也越來越多。除了用Bootstrap這種自適應的前端開發工具包,經常用到的就是rem佈局和jq實現兩種方法。rem結合了css3的media媒體查詢,同時我必須要說的是felx佈局,用起來真的覺得很方便。方便,方

解決移動頁面的touchstarttouchmove衝突

解決移動端頁面的touchstart和touchmove衝突 最近在寫一個小專案,移動端的投票工具,作為一個第一次寫移動端的菜鳥,問題出現了: 為什麼一滑螢幕就觸發了一堆touchstart事件呀(摔!!!) 基本概念 touchstart事件:當手

解決移動頁面出現 X軸橫向滾動條問題

最近在用 Bootstrap 寫一個需要適配 WEB 和 WAP 的網站,寫完後發現 WAP 端總是會出現橫向滾動條,也就是 X 軸滾動條,導致 WAP 端頁面左右滑來滑去,很是令人蛋疼,即使設定了 overflow-x: hidden和 width:100%

使用websocket實現手機掃描PC二維碼,移動canvas手繪簽名確定後將圖片同步到PC 掃碼及時更新圖片

這個Demo我放到線上啦,大家可以試一下(前端是用vue寫的,後臺是用springboot寫的 還處於學習階段  幫不到各位大神也請各位輕點噴我們首先看下效果,我把圖截下來來:1.這個是線上地址開啟的頁面2.這是掃描二維碼後手機開啟的介面(不要用微信去掃,微信顯示不安全  用

H5 移動上傳圖片 視訊 頁面顯示縮圖

這是我第一次寫部落格,想要分享一下程式設計經驗,因為我也算是一個菜鳥而已,在程式設計過程中,很多問題 都是通過百度,通過CSDN裡面的各位大神分享的經驗,才得以解決的,所以我也是本著造福他人,也完善自己的意願,開始寫寫部落格,分享一下程式設計中遇到的問題及解決方法。好,廢話不

移動 ionic angularjs列表單選以及多選框混合使用問題

第一次使用ionic,需要展現一個列表,列表下面是輸入框或者多選、單選。就是一張問卷 想的是先展現題目列表,每個題目裡面巢狀多選、單選或者輸入框,結果不行。不知道是什麼原因,是列表禁用了點選功能還是什麼(如有知道的,請給小弟解惑啊)? 程式碼: <html>

移動設定單行文字多行文字出現省略號

單行文字: while-space:nowrap; 強制一行 overflow:hidden; 多餘部分隱藏 text-overflow:ellipisis;隱藏部分變成省略號 … 多行文字: overflow:hidden; 多餘部分隱藏 text-overflow:ellip

控制容器文字行數(pc 移動

phone 行數 spa pre size 以及 :hover 框架 mx4 寫在前面的話:   對於文字的單行以及多行顯示,應該是經常用到的一個功能了,看下文吧~ pc 端:   1. 單行限制(兼容所有瀏覽器) 這裏加了一個 鼠標移入時顯示全部 的效果:

移動網頁公告欄文字左右輪播滑動

效果:一進入頁面,文字從右向左滑動,第一段文字滑到左端消失後,第二段才開始出現,就這樣飄飄飄,最後一個在左端消失後,第一段接著來。 思路: css樣式—外面有個固定的框框,需要輪播的文字寫在ul>li裡面,ul設定相對它的父級定位並且有固定寬高,li設定外邊距。 js部分—改

WAP移動頁面顯示,文字內容等比縮放的實現

同一個頁面,在不同顯示比例下如何等等比縮放而使頁面不會變形 比如同一個頁面下,372px 和642px顯示比例下文字大小和塊元素高度會隨著顯示的比例來等比縮放 比例始終顯示協調,不用重複除錯,其中一個重要的元素是將所有定義寬高的元素設定為rem rem是一個相對大小的值

canvas中的點用貝斯曲線連線成光滑曲線(解決移動畫布模糊問題)

解決移動端畫布模糊問題 第一步:將畫布放大四倍,設定行內樣式的寬高為原來的四倍即可 第二步:畫布裡面的內容也放大四倍 第三步:將畫布寬高100%,壓縮後變清晰 移動端用rem,放大四倍有困難,這裡用js可以改變canvas的寬