关键词搜索

源码搜索 ×
×

canvas笔记-canvas加载图片及放缩及加水印(两canvas同时使用)

发布2020-06-04浏览1094次

详情内容

首先是图片放缩

程序运行截图如下:

拉动滑动条:

源码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body style="background: black">
  8. <canvas id="canvas" style="border: 1px solid #aaa; display: block; margin: 50px auto;">
  9. 当前浏览器不支持canvas
  10. </canvas>
  11. <input type="range" id="scale-range" min="0.5" max="3.0" step="0.01" value="1.0" style="display: block; margin: 20px; width: 800px" />
  12. <script>
  13. let canvas = document.getElementById("canvas");
  14. let context = canvas.getContext("https://cdn.jxasp.com:9143/image/2d");
  15. let image = new Image();
  16. let slider = document.getElementById("scale-range");
  17. window.onload = function(){
  18. canvas.width = 1152;
  19. canvas.height = 768;
  20. let scale = slider.value;
  21. image.src = "img/bg2.jpg";
  22. image.onload = function() {
  23. // context.drawImage(image, 50, 50);
  24. // context.drawImage(image, 0, 0, canvas.width, canvas.height);
  25. // context.drawImage(image, 600, 200, 400, 400, 200, 200, 400, 400);
  26. slider.onmousemove = function(){
  27. scale = slider.value;
  28. drawImageByScale(scale);
  29. }
  30. }
  31. }
  32. function drawImageByScale(scale){
  33. let imageWidth = 1152 * scale;
  34. let imageHeight = 768 * scale;
  35. let dx = canvas.width / 2 - imageWidth / 2;
  36. let dy = canvas.height / 2 -imageHeight / 2;
  37. context.clearRect(0, 0, canvas.width, canvas.height);
  38. context.drawImage(image, dx, dy, imageWidth, imageHeight);
  39. }
  40. </script>
  41. </body>
  42. </html>

 

下面是水印,程序运行截图如下:

源码如下:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body style="background: black">
  8. <canvas id="canvas" style="border: 1px solid #aaa; display: block; margin: 50px auto;">
  9. 当前浏览器不支持canvas
  10. </canvas>
  11. <!--<canvas id="watermark-canvas" style="border: 1px solid #aaa; display: block; margin: 50px auto;">-->
  12. <!--当前浏览器不支持canvas-->
  13. <!--</canvas>-->
  14. <canvas id="watermark-canvas" style="display: none; margin: 0 auto; border: 1px solid #aaa">
  15. 当前浏览器不支持canvas
  16. </canvas>
  17. <script>
  18. let canvas = document.getElementById("canvas");
  19. let context = canvas.getContext("https://cdn.jxasp.com:9143/image/2d");
  20. let image = new Image();
  21. let watermarkCanvas = document.getElementById("watermark-canvas");
  22. let watermarkContext = watermarkCanvas.getContext("https://cdn.jxasp.com:9143/image/2d");
  23. window.onload = function(){
  24. canvas.width = 1152;
  25. canvas.height = 768;
  26. image.src = "img/bg2.jpg";
  27. image.onload = function() {
  28. drawImage(image);
  29. }
  30. watermarkCanvas.width = 600;
  31. watermarkCanvas.height = 100;
  32. watermarkContext.font = "bold 50px Arial";
  33. watermarkContext.lineWidth = 1;
  34. watermarkContext.fillStyle = "rgba(255, 255, 255)";
  35. watermarkContext.textBaseline = "middle";
  36. watermarkContext.fillText("ABCD中文!@E#$#", 20, 50);
  37. }
  38. function drawImage(image){
  39. let imageWidth = 1152;
  40. let imageHeight = 768;
  41. let dx = canvas.width / 2 - imageWidth / 2;
  42. let dy = canvas.height / 2 -imageHeight / 2;
  43. context.clearRect(0, 0, canvas.width, canvas.height);
  44. context.drawImage(image, dx, dy, imageWidth, imageHeight);
  45. context.drawImage(watermarkCanvas, canvas.width - watermarkCanvas.width, canvas.height - watermarkCanvas.height);
  46. }
  47. </script>
  48. </body>
  49. </html>

 

 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载