### canvas畫圓
```javascript
function drawCircular(ctx, width, height, x, y, url) {
var avatarurl_width = width;
var avatarurl_heigth = height;
var avatarurl_x = x;
var avatarurl_y = y;
ctx.save();
ctx.beginPath();
ctx.arc(avatarurl_width / 2 + avatarurl_x, avatarurl_heigth / 2 + avatarurl_y, avatarurl_width / 2, 0, Math.PI * 2, false);
ctx.clip();
ctx.drawImage(url, avatarurl_x, avatarurl_y, avatarurl_width, avatarurl_heigth);
ctx.restore();
}
```
```
wxhead.onload = function () {
drawCircular(ctx, 173, 173, 455, 438, wxhead);
}
```
### canvas畫圖生成海報
* 創建畫布
```html
<canvas id="myCanvas" style="opacity: 0;" width="1080" height="1755"></canvas>
```
* Canvas-圖片
```
myCanvas = document.getElementById("myCanvas");
let ctx = myCanvas.getContext("2d");
// 生成海報
setPoster = function () {
var img = new Image();
img.src = $(".can-bg").attr("data-src");
// img.crossOrigin = "Anonymous";
// img.setAttribute('crossOrigin', 'anonymous');
img.onload = function () {
ctx.drawImage(img, 0, 0, 1080, 1755); //背景
ctx.font = "43px Arial";
ctx.fillStyle = "#000";
ctx.textAlign = "center";
ctx.fillText(text, 800, 1235); // 字
var title = new Image()
title.src = t_img
title.onload = function () {
ctx.drawImage(title, 210, 547, 686, 310); // 其他動態圖片
var createImg = new Image()
createImg.src = myCanvas.toDataURL("image/jpeg")
createImg.onload = function () {
$("#ShareImg").attr("src", createImg.src); // 對應覆蓋圖片
}
}
}
}
```
### Canvas-下載
```javascript
//下載海報
function downloadimg() {
var img = $('.box').children('img').attr("src");
var alink = document.createElement("a");
alink.href = img;
alink.download = "新年快樂.png";
alink.click();
}
```
- 前端指南
- 基礎
- HTML、HTTP、web綜合問題
- css部分
- 學習指南
- 開發指南
- css指南
- JavaScript
- 視圖、文件
- canvas
- 二維碼的生成
- 64碼及圖片
- weui
- Promise
- 第三方js
- 網絡請求
- 字符串,數組,時間
- 時間類
- Css
- 布局封裝
- 媒體布局
- 九宮格圖片自適應
- 兩行顯示,且省略
- uni-app
- uniapp踩坑指南
- 表單類
- 商品規格
- 頁面操作
- H5端返回按鈕不顯示
- H5解決瀏覽器跨域問題
- uView——Waterfall 瀑布流
- uniapp中使用復制功能(復制文本到粘貼板)
- 動態導航欄的實現
- React
- React基礎
- 微信小程序
- 上傳多圖
- uni-app 微信小程序生成小程序碼二維碼帶參數
- 小程序分享圖片給好友,到朋友圈,保存到本地
- 緩存封裝
- Vue
- 深度作用選擇器deep
- 使用js實現列表無限循環滾動(橫向)
- js 無限循環垂直滾動列表
- 可視化
- AntV
- 玫瑰圖