麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > canvasbase64詳解

canvasbase64詳解

來源:千鋒教育
發布人:xqq
時間: 2023-11-23 12:50:04 1700715004

一、canvas是什么

Canvas是一個HTML5標簽,可以用來繪制圖形、動畫、甚至是視頻。使用Canvas,你可以基于用戶的事件動態地生成圖像,例如游戲或數據可視化,也可以將其用作簡單的圖像編輯器或者成為一個復雜應用的重要組件。

在Canvas中,繪制是由Javascript覆蓋到特定區域中的基礎圖形初始化而完成的。每一個Canvas元素有一個2D渲染內容區域。這里可以通過Javascript來繪制圖像。

二、base64是什么

Base64是網絡上最常見的用于傳輸8Bit字節碼的編碼方式之一,大家實際上可以將Base64理解為一種編碼格式、而非加密算法。Base64編碼將3個字節的二進制數據編碼成4個字節的文本數據,長度增加33%。

Base64常用于在HTTP協議下傳輸HTTP認證信息,因為一些特殊字符沒有被HTTP協議允許直接傳輸,所以進行Base64編碼。

三、canvasbase64的基本原理

Canvas中我們可以使用toDataURL()方法將Canvas圖像轉換為一個base64圖片。toDataURL()方法返回的是Canvas元素的一個數據地址。該地址包含了Canvas圖像的基本信息,標志了該圖像類型、尺寸等內容,并且以base64的形式顯示了Canvas圖像的具體內容。

使用Canvas+base64的組合,我們可以輕松地將Canvas圖像轉換為base64圖片,并按需傳輸或者展示。

四、canvasbase64的特點與用途

Canvasbase64具有以下幾個特點:

1、base64編碼后的圖片可以嵌入HTML或者CSS文件中,實現無縫展示。

2、base64編碼后的圖片不需要額外的下載,節省了圖片下載的網絡開銷。

3、base64編碼后的圖片可以直接使用Javascript加載,實現異步加載。

Canvasbase64主要應用于以下場景:

1、生成二維碼。


let canvas = document.createElement("canvas");
let context = canvas.getContext("2d");
canvas.width = 200;
canvas.height = 200;
QRCode.toCanvas(canvas, "Hello World", function (error) {
  if (error) console.error(error);
});
let imgData = canvas.toDataURL("image/png");

2、繪制海報。


let img = new Image();
img.crossOrigin = "";
img.src = "http://www.dietsnews.net/2023/1123/1700715002105.png";
img.onload = function () {
  let canvas = document.createElement("canvas");
  let context = canvas.getContext("2d");
  canvas.width = img.width;
  canvas.height = img.height;
  context.drawImage(img, 0, 0);
  context.font = "18px Arial";
  context.fillText("Example", 10, 50);
  let imgData = canvas.toDataURL("image/png");
};

3、實現手寫板。


let canvas = document.getElementById("canvas");
let context = canvas.getContext("2d");
context.strokeStyle = "black";
context.lineWidth = 5;
let drawing = false;
canvas.addEventListener("mousedown", function (event) {
  drawing = true;
  context.beginPath();
  context.moveTo(
    event.pageX - canvas.offsetLeft,
    event.pageY - canvas.offsetTop
  );
});
canvas.addEventListener("mousemove", function (event) {
  if (!drawing) return;
  context.lineTo(
    event.pageX - canvas.offsetLeft,
    event.pageY - canvas.offsetTop
  );
  context.stroke();
});
canvas.addEventListener("mouseup", function (event) {
  drawing = false;
});

五、canvasbase64的示例代碼

下面我們來看一個完整的Canvasbase64實現過程的示例代碼:


// HTML


// JavaScript
let canvas = document.getElementById("canvas");
let context = canvas.getContext("2d");
context.fillStyle = "#fff";
context.fillRect(0, 0, canvas.width, canvas.height);
context.font = "30px Arial";
context.fillStyle = "#000";
context.fillText("Hello World", 50, 100);
let imgData = canvas.toDataURL("image/png");
let imgElement = document.createElement("img");
imgElement.src = imgData;
document.body.appendChild(imgElement);

tags: canvasbase64
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 国产男女爽爽爽免费视频| 麻豆福利在线| 乱人伦中文视频在线观看免费| 免费毛片在线视频| 新梅瓶1一5集在线观看| 国产网曝门| 中文亚洲日韩欧美| 琪琪色原网站在线观看| 日本黄页网站免费| 狠狠色欧美亚洲狠狠色www| 久久精品99香蕉国产| 成人动漫视频在线| 欧美性大战久久久久久| 欧美草逼网站| 亚洲日韩精品欧美一区二区| 少妇激情av一区二区| 国产一级片在线播放| 久久综合九色欧美综合狠狠| 7777精品久久久大香线蕉| 久久亚洲精品国产亚洲老地址| 国产男女猛烈无遮挡免费视频| 最新欧美精品一区二区三区| 最好看的最新中文字幕2018免费视频| 一级毛片无毒不卡直接观看| 被猛男cao尿了| 亚洲冬月枫中文字幕在线看| xl上司带翻译无马赛樱花| 韩国伦理片久久电影网| 亚洲国产成人久久精品app| 蜜桃成熟时仙子| 我和岳乱妇三级高清电影| 试看91福利区体验区120秒| 四虎影视永久在线精品免费| 中文字幕ヘンリー冢本全集| 国偷自产福利| 国产极品视觉盛宴| 污小说总裁整夜没拔出| 先锋影音av资源网| 国产嫩草影院在线观看| 亚洲国产精品综合久久网络| 日本一道高清一区二区三区|