中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么在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

仙桃市| 叙永县| 都安| 绥阳县| 扬中市| 江源县| 舞钢市| 文成县| 乌海市| 芒康县| 田东县| 乐亭县| 仙桃市| 德令哈市| 始兴县| 大庆市| 林芝县| 策勒县| 乌拉特前旗| 仙游县| 略阳县| 太白县| 枣强县| 南陵县| 福安市| 德惠市| 平谷区| 耿马| 惠水县| 都匀市| 绩溪县| 同江市| 读书| 通城县| 游戏| 桂林市| 南平市| 元谋县| 芦溪县| 鲁甸县| 滕州市|