test.blade.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. @extends('layouts.app')
  2. @section('content')
  3. <div class="container-fluid">
  4. <div class="row">
  5. <div class="col-12">
  6. <div class="h-1 w-100 text-center font-weight-bold mb-2 text-dark"></div>
  7. </div>
  8. </div>
  9. <div class="row mt-2">
  10. <div class="col-10">
  11. <div class="row m-0" id="row" >
  12. <div class="col-6" id="vi1" onclick="selected(this)">
  13. <div id="asd">
  14. <video src="#"></video>
  15. </div>
  16. </div>
  17. <canvas class="col-6" id="video1" onclick="selected(this)"></canvas>
  18. </div>
  19. </div>
  20. <div class="col-2 border-left border-3 border-primary text-center">
  21. <button class="btn btn-danger" type="button" id="imgPool">离 开 云 诊 室</button>
  22. </div>
  23. <img style="width: 50px;height: 100px" src="{{asset('images/demoBin.png')}}" class="image" onclick="imgShow(this)">
  24. <div id="outer" style="position:fixed;top:0;left:0;background:rgba(0,0,0,0.7);z-index:2;width:100%;height:100%;display:none;">
  25. <div id="inner" style="position:absolute;">
  26. <img alt="" id="bm" style="border:5px solid #fff;" src="" />
  27. </div>
  28. </div>
  29. </div>
  30. <script type="text/javascript">
  31. /*$(function(){
  32. $(".image").click(function(){
  33. var _this = $(this);//将当前的pimg元素作为_this传入函数
  34. imgShow("#outer", "#inner", "#bm", _this);
  35. });
  36. });*/
  37. function imgShow(e,outer="#outer", inner="#inner", bm="#bm"){
  38. let src = e.src;
  39. $(bm).attr("src", src);
  40. let img = $("<img alt='' src='"+src+"'/>");
  41. img.on('load',function(){
  42. let windowW = $(window).width();
  43. let windowH = $(window).height();
  44. let realWidth = this.width;
  45. let realHeight = this.height;
  46. let imgWidth, imgHeight;
  47. let scale = 0.8;
  48. if(realHeight>windowH*scale) {
  49. imgHeight = windowH*scale;
  50. imgWidth = imgHeight/realHeight*realWidth;
  51. if(imgWidth>windowW*scale) {
  52. imgWidth = windowW*scale;
  53. }
  54. } else if(realWidth>windowW*scale) {
  55. imgWidth = windowW*scale;
  56. imgHeight = imgWidth/realWidth*realHeight;
  57. } else {
  58. imgWidth = realWidth;
  59. imgHeight = realHeight;
  60. }
  61. $(bm).css("width",imgWidth);
  62. let w = (windowW-imgWidth)/2;
  63. let h = (windowH-imgHeight)/2;
  64. $(inner).css({"top":h, "left":w});
  65. $(outer).fadeIn("fast");
  66. });
  67. $(outer).click(function(){
  68. $(this).fadeOut("fast");
  69. });
  70. }
  71. let currentDom = "";
  72. let hidden = false;
  73. function selected(e){
  74. if (currentDom === e.id)return;
  75. if (currentDom)$("#"+currentDom).css('box-shadow','');
  76. currentDom = e.id;
  77. e.style.boxShadow = "0 0 10px 2px red";
  78. }
  79. document.onkeydown = function(ev) {
  80. if(ev.keyCode === 32 && currentDom) {
  81. ev.preventDefault();
  82. $("#row").append('<canvas class="col-6" id="video2" onclick="selected(this)"></canvas>');
  83. let base64 = getBase64Img();
  84. let imgPool = $("#imgPool");
  85. if (!hidden){
  86. imgPool.after("<button class='btn btn-success mt-2 mb-0' type='button' onclick='uploadImg()'>上 传 截 图</button>");
  87. hidden = true;
  88. }
  89. imgPool.after("<div class='w-100 mt-2 h-auto' ondblclick='removeImg(this)'><img class='img-fluid images' alt='截图' src='"+base64+"'></div>");
  90. }
  91. };
  92. //获取base64截图
  93. function getBase64Img(){
  94. let canvas = $('<canvas></canvas>');
  95. let video = $("#"+currentDom).children().children()[0];
  96. let ctx = canvas[0].getContext('2d');
  97. let w = video.videoWidth;
  98. let h = video.videoHeight;
  99. canvas.attr({
  100. width: w,
  101. height: h,
  102. });
  103. ctx.drawImage(video, 0, 0, w, h);
  104. return canvas[0].toDataURL('images/png');
  105. }
  106. function removeImg(e) {
  107. e.remove();
  108. }
  109. function uploadImg() {
  110. let list = $(".images");
  111. list.each((i,dom)=>{
  112. let base64 = dom.src;
  113. //单次多请求上传
  114. });
  115. }
  116. </script>
  117. @endsection
  118. @section('script')
  119. <script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.js"></script>
  120. @stop