javascript - 怎樣在canvas上讓圖片做tranform變換?
問(wèn)題描述
例如我有一張圖片,如下圖所示
<img src='http://www.piao2010.com/wenda/image.jpg' style='transform: translate(6px, 6px) scale(1.5) rotate(100deg);'>
圖片的寬高是1280x600,并且transform屬性是transform: translate(6px, 6px) scale(1.5) rotate(100deg);
請(qǐng)問(wèn),我創(chuàng)建的一張1280x600的canvas畫(huà)布,要怎樣才能讓圖片按照transfrom的參數(shù)在畫(huà)布上做變換呢?
畫(huà)布最終的大小不會(huì)變化。
問(wèn)題解答
回答1:這3個(gè)api在canvas上面的的ctx對(duì)象上面都有,樓主可以去查閱一下,但是樓主要注意一點(diǎn)canvas的變換是原點(diǎn)變換類似css屬性中transform-origin:0,0但是css變換這個(gè)屬性默認(rèn)是center center所以這就涉及到了一個(gè)在canvas上面一個(gè)比較經(jīng)典的問(wèn)題叫如何如何移動(dòng)錨點(diǎn)簡(jiǎn)單來(lái)說(shuō)利用了canvas的transform負(fù)值來(lái)做到的,手機(jī)打字無(wú)法給你演示了。
交樓主一個(gè)簡(jiǎn)單方法,樓主把那圖片的transform-origin也設(shè)置成0,0,此時(shí)達(dá)到你之前的效果的參數(shù)就和canvas的值一模一樣了
在外面沒(méi)音電腦如果樓主還不明白回去后可以試著幫你實(shí)現(xiàn)下,但從成長(zhǎng)角度推薦樓主根據(jù)樓上的鏈接自己寫出實(shí)現(xiàn)代碼
回答2:https://github.com/wanadev/pe... demo http://www.html5.jp/test/pers...這個(gè)可能幫到你
回答3:已經(jīng)在這個(gè)問(wèn)題下找到了答案,謝謝 @外籍杰克 的答案/q/10...
相關(guān)文章:
1. 怎么在網(wǎng)頁(yè)中設(shè)置圖片進(jìn)行左右滑動(dòng)2. node.js - mysql如何通過(guò)knex查詢今天和七天內(nèi)的匯總數(shù)據(jù)3. mysql 插入數(shù)值到特定的列一直失敗4. mysql 怎么做到update只更新一行數(shù)據(jù)?5. python - 在使用Pycharm時(shí)經(jīng)常看到如下的樣式,小括號(hào)里紅色的部分是什么意思呢?6. javascript - 新浪微博網(wǎng)頁(yè)版的字?jǐn)?shù)限制是怎么做的7. python2.7 - python 函數(shù)或者類 代碼的執(zhí)行順序8. 360瀏覽器與IE瀏覽器有何區(qū)別???9. javascript - 用jsonp抓取qq音樂(lè)總是說(shuō)回調(diào)函數(shù)沒(méi)有定義10. sublime可以用其他編譯器替換嗎?
