91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在JavaScript中使用canvas將兩張圖片合并成一張圖片

發布時間:2021-04-17 17:21:04 來源:億速云 閱讀:406 作者:Leah 欄目:web開發

怎么在JavaScript中使用canvas將兩張圖片合并成一張圖片?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

function drawAndShareImage(){
  var canvas = document.createElement("canvas");
  canvas.width = 700;
  canvas.height = 700;
  var context = canvas.getContext("2d");
  context.rect(0 , 0 , canvas.width , canvas.height);
  context.fillStyle = "#fff";
  context.fill();
  var myImage = new Image();
  myImage.src = "./2.png";  //背景圖片 你自己本地的圖片或者在線圖片
  myImage.crossOrigin = 'Anonymous';
  myImage.onload = function(){
    context.drawImage(myImage , 0 , 0 , 700 , 700);
    context.font = "60px Courier New";
    context.fillText("我是文字",350,450);
    var myImage2 = new Image();
    myImage2.src = "./1.png";  //你自己本地的圖片或者在線圖片
    myImage2.crossOrigin = 'Anonymous';
    myImage2.onload = function(){
      context.drawImage(myImage2 , 175 , 175 , 225 , 225);
      var base64 = canvas.toDataURL("image/png"); //"image/png" 這里注意一下
      var img = document.getElementById('avatar');
      // document.getElementById('avatar').src = base64;
      img.setAttribute('src' , base64);
    }
  }
}

PS:在線圖片和本地圖片都要注意下跨越的問題,最好放在服務器上測試。

java的實現方式

public static String generateCode(String codeUrl, Integer userId, String userName) {
 Font font = new Font("微軟雅黑", Font.PLAIN, 30);// 添加字體的屬性設置
 String projectUrl = PathKit.getWebRootPath() + "/before/codeImg/";
 String imgName = projectUrl + userId + ".png";
 try {
 // 加載本地圖片
 String imageLocalUrl = projectUrl + "weixincode2.png";
 BufferedImage imageLocal = ImageIO.read(new File(imageLocalUrl));
 // 加載用戶的二維碼
 BufferedImage imageCode = ImageIO.read(new URL(codeUrl));
 // 以本地圖片為模板
 Graphics2D g = imageLocal.createGraphics();
 // 在模板上添加用戶二維碼(地址,左邊距,上邊距,圖片寬度,圖片高度,未知)
 g.drawImage(imageCode, 575, imageLocal.getHeight() - 500, 350, 350, null);
 // 設置文本樣式
 g.setFont(font);
 g.setColor(Color.BLACK);
 // 截取用戶名稱的最后一個字符
 String lastChar = userName.substring(userName.length() - 1);
 // 拼接新的用戶名稱
 String newUserName = userName.substring(0, 1) + "**" + lastChar + " 的邀請二維碼";
 // 添加用戶名稱
 g.drawString(newUserName, 620, imageLocal.getHeight() - 530);
 // 完成模板修改
 g.dispose();
 // 獲取新文件的地址
 File outputfile = new File(imgName);
 // 生成新的合成過的用戶二維碼并寫入新圖片
 ImageIO.write(imageLocal, "png", outputfile);
 } catch (Exception e) {
 e.printStackTrace();
 }
 // 返回給頁面的圖片地址(因為絕對路徑無法訪問)
 imgName = Constants.PROJECT_URL + "codeImg/" + userId + ".png";
 return imgName;
}

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

旬邑县| 临猗县| 郓城县| 德昌县| 额敏县| 酉阳| 荔浦县| 都昌县| 天长市| 繁昌县| 运城市| 新宁县| 昭苏县| 龙岩市| 垫江县| 南郑县| 裕民县| 科尔| 洛浦县| 彩票| 都兰县| 安平县| 平乡县| 巴里| 平阴县| 宣城市| 南木林县| 长海县| 鄱阳县| 大安市| 淮安市| 新龙县| 新郑市| 佛学| 凤翔县| 沁水县| 晋宁县| 桦甸市| 武宣县| 仙游县| 精河县|