javascript - 怎樣在canvas上讓圖片做tranform變換?
問(wèn)題描述
例如我有一張圖片,如下圖所示
<img src='http://m.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ù)樓上的鏈接自己寫(xiě)出實(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. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????2. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)3. html按鍵開(kāi)關(guān)如何提交我想需要的值到數(shù)據(jù)庫(kù)4. mysql取模分表與分表5. gvim - 誰(shuí)有vim里CSS的Indent文件, 能縮進(jìn)@media里面的6. HTML 5輸入框只能輸入漢字、字母、數(shù)字、標(biāo)點(diǎn)符號(hào)?正則如何寫(xiě)?7. 跟著課件一模一樣的操作使用tp6,出現(xiàn)了錯(cuò)誤8. PHP類屬性聲明?9. objective-c - ios 怎么實(shí)現(xiàn)微信聯(lián)系列表 最好是swift10. java - 安卓接入微信登錄,onCreate不會(huì)執(zhí)行
