暂无描述

headimg.html 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
  6. <link rel="stylesheet" href="../css/mui.min.css" />
  7. <link rel="stylesheet" href="../css/jquery.Jcrop.min.css" />
  8. <script type="text/javascript" src="../js/mui.min.js"></script>
  9. <script type="text/javascript" src="../js/jquery-1.9.1.min.js"></script>
  10. <script type="text/javascript" src="../js/jquery.Jcrop.min.js"></script>
  11. <script type="text/javascript">
  12. var jcrop_api;
  13. function initJcrop(x, y) {
  14. $('#panel').Jcrop({
  15. allowResize: false,
  16. allowSelect: false,
  17. onChange: updatePreview,
  18. }, function() {
  19. jcrop_api = this;
  20. jcrop_api.animateTo([x, y, x + 100, y + 100]);
  21. });
  22. };
  23. function updatePreview(c) {
  24. setHead(c.x, c.y);
  25. };
  26. </script>
  27. <style>
  28. button span {
  29. font-size: 17px;
  30. margin: 0px !important;
  31. }
  32. button {
  33. padding: 0px !important;
  34. padding-right: 5px !important;
  35. line-height: 30px !important;
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <header class="mui-bar mui-bar-nav hander-bg">
  41. <button class="mui-btn mui-pull-left "><span class="mui-icon mui-icon-closeempty" style="font-size: 30px;"></span> 取消
  42. </button>
  43. <button class="mui-btn mui-pull-right" onclick="getResults()"><span class="mui-icon mui-icon-checkmarkempty" style="font-size: 30px;"></span> 确定
  44. </button>
  45. </header>
  46. <div class="mui-content">
  47. <canvas id="panel"></canvas>
  48. </div>
  49. <canvas style="display: none;" id="targetCanvas" width="100" height="100"></canvas>
  50. </body>
  51. <script type="text/javascript">
  52. mui.init();
  53. var canvas = document.getElementById('panel');
  54. var h = xm.getQueryString("h") - 44;
  55. var w = xm.getQueryString("w");
  56. canvas.height = h;
  57. canvas.width = w;
  58. initJcrop((w - 100) / 2, (h - 100) / 2);
  59. var ctx = canvas.getContext('2d');
  60. var image = new Image();
  61. image.src = unescape(xm.getQueryString("p"));
  62. image.onload = function() {
  63. ctx.drawImage(image, 0, 0, w, h);
  64. setHead((w - 100) / 2, (h - 100) / 2);
  65. }
  66. function setHead(x, y) {
  67. var temp = ctx.getImageData(x, y, 100, 100);
  68. var target = document.getElementById('targetCanvas');
  69. var target = target.getContext('2d');
  70. target.putImageData(temp, 0, 0);
  71. }
  72. function getResults() {
  73. var p = document.getElementById('targetCanvas').toDataURL();
  74. var cur = plus.webview.currentWebview();
  75. var page = plus.webview.getWebviewById(cur.page);
  76. if (page) {
  77. page.evalJS("setHeadImage('" + p + "')");
  78. cur.close();
  79. }
  80. }
  81. </script>
  82. </html>