javascript - 怎樣在canvas上讓圖片做tranform變換?
問題描述
例如我有一張圖片,如下圖所示
<img src='http://www.aoyou183.cn/wenda/image.jpg' style='transform: translate(6px, 6px) scale(1.5) rotate(100deg);'>
圖片的寬高是1280x600,并且transform屬性是transform: translate(6px, 6px) scale(1.5) rotate(100deg);
請問,我創(chuàng)建的一張1280x600的canvas畫布,要怎樣才能讓圖片按照transfrom的參數(shù)在畫布上做變換呢?
畫布最終的大小不會變化。
問題解答
回答1:這3個api在canvas上面的的ctx對象上面都有,樓主可以去查閱一下,但是樓主要注意一點(diǎn)canvas的變換是原點(diǎn)變換類似css屬性中transform-origin:0,0但是css變換這個屬性默認(rèn)是center center所以這就涉及到了一個在canvas上面一個比較經(jīng)典的問題叫如何如何移動錨點(diǎn)簡單來說利用了canvas的transform負(fù)值來做到的,手機(jī)打字無法給你演示了。
交樓主一個簡單方法,樓主把那圖片的transform-origin也設(shè)置成0,0,此時達(dá)到你之前的效果的參數(shù)就和canvas的值一模一樣了
在外面沒音電腦如果樓主還不明白回去后可以試著幫你實(shí)現(xiàn)下,但從成長角度推薦樓主根據(jù)樓上的鏈接自己寫出實(shí)現(xiàn)代碼
回答2:https://github.com/wanadev/pe... demo http://www.html5.jp/test/pers...這個可能幫到你
回答3:已經(jīng)在這個問題下找到了答案,謝謝 @外籍杰克 的答案/q/10...
相關(guān)文章:
1. macos - mac下docker如何設(shè)置代理2. java - 請問在main方法中寫成對象名.屬性()并賦值,與直接參參數(shù)賦值輸錯誤是什么原因?3. MySQL數(shù)據(jù)庫中文亂碼的原因4. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””5. docker不顯示端口映射呢?6. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?7. android studio總是在processes running好久8. angular.js - 關(guān)于$apply()9. docker-compose 為何找不到配置文件?10. dockerfile - 我用docker build的時候出現(xiàn)下邊問題 麻煩幫我看一下
