{"id":31622,"date":"2024-11-25T11:34:21","date_gmt":"2024-11-25T03:34:21","guid":{"rendered":"https:\/\/fwq.ai\/blog\/31622\/"},"modified":"2024-11-25T11:34:21","modified_gmt":"2024-11-25T03:34:21","slug":"%e5%a6%82%e4%bd%95%e5%ae%9e%e7%8e%b0%e5%be%ae%e4%bf%a1%e5%b0%8f%e7%a8%8b%e5%ba%8f%e5%9b%be%e7%89%87%e9%80%89%e6%8b%a9%e5%8c%ba%e5%9f%9f%e8%a3%81%e5%89%aa","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/31622\/","title":{"rendered":"\u5982\u4f55\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u88c1\u526a"},"content":{"rendered":"<p>\u672c\u7bc7\u6587\u7ae0\u4e3b\u8981\u4ecb\u7ecd\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u5c4f\u88c1\u526a\u5b9e\u73b0\u65b9\u6cd5\uff0c\u5185\u5bb9\u633a\u4e0d\u9519\u7684\uff0c\u73b0\u5728\u5206\u4eab\u7ed9\u5927\u5bb6\uff0c\u4e5f\u7ed9\u5927\u5bb6\u505a\u4e2a\u53c2\u8003\u3002<\/p>\n<p>\u672c\u6587\u4ecb\u7ecd\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u5c4f\u88c1\u526a\u5b9e\u73b0\u65b9\u6cd5\uff0c\u5206\u4eab\u7ed9\u5927\u5bb6\u3002\u5177\u4f53\u5982\u4e0b\uff1a<\/p>\n<p>\u6548\u679c\u56fe <\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/009\/7bb90d782b1b9505fa1ae9ee0ee974e7-0.png\" class=\"aligncenter\" title=\"\u5982\u4f55\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u88c1\u526a\u63d2\u56fe\" alt=\"\u5982\u4f55\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u88c1\u526a\u63d2\u56fe\" \/><\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/009\/7bb90d782b1b9505fa1ae9ee0ee974e7-1.png\" class=\"aligncenter\" title=\"\u5982\u4f55\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u88c1\u526a\u63d2\u56fe1\" alt=\"\u5982\u4f55\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u88c1\u526a\u63d2\u56fe1\" \/><\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/009\/df4f858fc443c3dd8fe77ca0579a07d4-2.png\" class=\"aligncenter\" title=\"\u5982\u4f55\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u88c1\u526a\u63d2\u56fe2\" alt=\"\u5982\u4f55\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u88c1\u526a\u63d2\u56fe2\" \/><\/p>\n<p>HTML\u4ee3\u7801<\/p>\n<\/p>\n<pre>&lt;view&gt;\n&nbsp;&lt;view&gt;\n&nbsp;&lt;view&gt;\u5f00\u59cb\u88c1\u526a&lt;\/view&gt;\n&nbsp;&lt;view&gt;\u70b9\u51fb\u4e0a\u4f20\u56fe\u7247&lt;\/view&gt;\n&nbsp;&lt;view&gt;\u70b9\u51fb\u786e\u8ba4&lt;\/view&gt;\n&nbsp;&lt;\/view&gt;\n&nbsp;&lt;!-- \u9009\u62e9\u88c1\u526a\u6a21\u5f0f --&gt;\n&nbsp;&lt;view&gt;\n&nbsp;&lt;view&gt;\n&nbsp;&nbsp;\u7b49\u5c4f\u88c1\u526a\n&nbsp;&lt;\/view&gt;\n&nbsp;&lt;view&gt;\n&nbsp;&nbsp;\u533a\u57df\u88c1\u526a\n&nbsp;&lt;\/view&gt;\n&nbsp;&lt;\/view&gt;\n&nbsp;&lt;view&gt;\n&nbsp;&lt;slider&gt;&lt;\/slider&gt;\n&nbsp;&lt;\/view&gt;\n&nbsp;&lt;view&gt;\n&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt;\n&nbsp;&lt;\/view&gt;\n&nbsp;&lt;view&gt;\u91cd\u65b0\u88c1\u526a&lt;\/view&gt;\n&nbsp;&lt;\/view&gt;\n&nbsp;&lt;view&gt;\n&nbsp;&lt;canvas&gt;&lt;\/canvas&gt;\n&nbsp;&lt;view&gt;&lt;\/view&gt;\n&nbsp;&lt;\/view&gt;\n&nbsp;\n&nbsp;\n&lt;\/view&gt;<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>CSS\u4ee3\u7801<\/p>\n<\/p>\n<pre>.imgCut_header{\n&nbsp;padding:&nbsp;30rpx;\n&nbsp;display:&nbsp;flex;\n&nbsp;justify-content:&nbsp;space-between;\n&nbsp;align-items:&nbsp;center;\n&nbsp;background:&nbsp;#000;\n&nbsp;color:&nbsp;#fff;\n&nbsp;font-size:&nbsp;24rpx;\n}\n.allCavans{\n&nbsp;margin:&nbsp;20rpx&nbsp;auto;\n&nbsp;position:&nbsp;relative;\n}\n.canvasSty{\n&nbsp;position:&nbsp;absolute;\n}\n.cutImg_box{\n&nbsp;width:&nbsp;100%;\n&nbsp;\n&nbsp;border-bottom:&nbsp;2rpx&nbsp;#f98700&nbsp;solid;\n&nbsp;padding-bottom:&nbsp;20rpx;\n}\n.cutImg_box&nbsp;.cutImg_box_t{\n&nbsp;width:&nbsp;90%;\n&nbsp;margin:&nbsp;20rpx&nbsp;auto;\n}\n.cutImg_box&nbsp;image{\n&nbsp;width:&nbsp;100%;\n}\n.cutImg_box&nbsp;.cutImg_box_b{\n&nbsp;margin-top:&nbsp;20rpx;\n&nbsp;width:&nbsp;80%;\n&nbsp;height:&nbsp;80rpx;\n&nbsp;line-height:&nbsp;80rpx;\n&nbsp;background:&nbsp;#f98700;\n&nbsp;color:&nbsp;#fff;\n&nbsp;border-radius:&nbsp;10rpx;\n&nbsp;text-align:&nbsp;center;\n&nbsp;margin:0rpx&nbsp;auto;\n}\n.selectCutMode{\n&nbsp;background:&nbsp;#fff;\n&nbsp;display:&nbsp;flex;\n&nbsp;justify-content:&nbsp;space-between;\n&nbsp;align-items:&nbsp;center;\n}\n.selectCutMode&nbsp;.selectCutMode_in{\n&nbsp;width:&nbsp;100%;\n&nbsp;text-align:&nbsp;center;\n&nbsp;background:&nbsp;#fff;\n&nbsp;color:&nbsp;#f98700;\n&nbsp;font-size:&nbsp;24rpx;\n&nbsp;padding:&nbsp;20rpx;\n}\n.selectCutMode&nbsp;.selectCutMode_in_act{\n&nbsp;background:&nbsp;#f98700;\n&nbsp;color:&nbsp;#fff;\n&nbsp;padding:&nbsp;20rpx;\n}\n.areaSelct_box{\n&nbsp;width:&nbsp;100%;\n&nbsp;display:&nbsp;flex;\n&nbsp;align-items:&nbsp;center;\n&nbsp;height:&nbsp;50rpx;\n&nbsp;justify-content:&nbsp;center;\n&nbsp;margin-top:&nbsp;20rpx;\n}\n.areaSelct_box&nbsp;slider{\n&nbsp;width:&nbsp;80%;\n}\n.cutImg_box&nbsp;.clickCutImg_txt{\n&nbsp;width:&nbsp;100%;\n&nbsp;text-align:&nbsp;center;\n&nbsp;height:&nbsp;50rpx;\n&nbsp;font-size:&nbsp;24rpx;\n&nbsp;line-height:&nbsp;50rpx;\n&nbsp;color:&nbsp;#999;\n}<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>JS\u4ee3\u7801\u90e8\u5206<\/p>\n<p>\u521d\u59cb\u52a0\u8f7d\u5e26\u5165\u4e0a\u4e00\u4e2a\u9875\u9762\u5e26\u8fc7\u6765\u7684\u53c2\u6570\u8def\u5f84<\/p>\n<\/p>\n<pre>onLoad:&nbsp;function&nbsp;(options)&nbsp;{\n&nbsp;&nbsp;var&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;const&nbsp;ctx&nbsp;=&nbsp;wx.createCanvasContext('cutImg');\n&nbsp;&nbsp;ctx.setGlobalAlpha(0.4)\n&nbsp;&nbsp;var&nbsp;aa&nbsp;=&nbsp;'https:\/\/pintuanqu.oss-cn-hangzhou.aliyuncs.com\/Uploads\/Picture\/goodsShow\/20171201\/5a2125fc86566.png'&lt;br&gt;\u3000\u3000\/\/\u83b7\u53d6\u5f53\u524d\u5c4f\u5e55\u5bbd\u5ea6\n&nbsp;&nbsp;var&nbsp;phoneW&nbsp;=&nbsp;Number(util.nowPhoneWH()[0]*90)\/100;\n&nbsp;&nbsp;var&nbsp;cutH&nbsp;=&nbsp;150;\n&nbsp;&nbsp;wx.getImageInfo({\n&nbsp;&nbsp;&nbsp;src:&nbsp;aa,\n&nbsp;&nbsp;&nbsp;success:&nbsp;function&nbsp;(res)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;w&nbsp;=&nbsp;phoneW;\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;h&nbsp;=&nbsp;(phoneW\/Number(res.width))*Number(res.height)\n&nbsp;&nbsp;&nbsp;&nbsp;ctx.save()&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;ctx.drawImage(aa,&nbsp;0,&nbsp;0,&nbsp;w,&nbsp;h)\n&nbsp;&nbsp;&nbsp;&nbsp;ctx.restore()\n&nbsp;&nbsp;&nbsp;&nbsp;ctx.setFillStyle('red')\n&nbsp;&nbsp;&nbsp;&nbsp;ctx.fillRect(0,&nbsp;0,&nbsp;phoneW,&nbsp;cutH)\n&nbsp;&nbsp;&nbsp;&nbsp;ctx.draw()\n&nbsp;&nbsp;&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;canvasW:w,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;canvasH:h,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;img:aa,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cutH:cutH\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;})\n&nbsp;},<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u786e\u5b9a\u9009\u62e9\u533a\u57df\u5f00\u59cb\u88c1\u526a<\/p>\n<\/p>\n<pre>\/\/&nbsp;\u70b9\u51fb\u786e\u8ba4\u88c1\u526a\u56fe\u7247\n&nbsp;okCutImg:function(){\n&nbsp;&nbsp;var&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;var&nbsp;canvasW&nbsp;=&nbsp;that.data.canvasW;\n&nbsp;&nbsp;var&nbsp;canvasH&nbsp;=&nbsp;that.data.canvasH;\n&nbsp;&nbsp;var&nbsp;nowCutW&nbsp;=&nbsp;that.data.cutType?canvasW:that.data.nowCutW;\n&nbsp;&nbsp;var&nbsp;nowCutH&nbsp;=&nbsp;that.data.cutType?that.data.cutH:that.data.nowCutH;\n&nbsp;&nbsp;var&nbsp;cutX&nbsp;=&nbsp;that.data.cutX;\n&nbsp;&nbsp;var&nbsp;cutY&nbsp;=&nbsp;that.data.cutY;\n&nbsp;&nbsp;const&nbsp;ctx&nbsp;=&nbsp;wx.createCanvasContext('cutImg');\n&nbsp;&nbsp;ctx.setGlobalAlpha(1)\n&nbsp;&nbsp;ctx.drawImage(that.data.img,&nbsp;0,&nbsp;0,&nbsp;canvasW,&nbsp;canvasH)\n&nbsp;&nbsp;ctx.draw()\n&nbsp;&nbsp;wx.canvasToTempFilePath({\n&nbsp;&nbsp;&nbsp;x:&nbsp;cutX,\n&nbsp;&nbsp;&nbsp;y:&nbsp;cutY,\n&nbsp;&nbsp;&nbsp;width:&nbsp;nowCutW,\n&nbsp;&nbsp;&nbsp;height:&nbsp;nowCutH,\n&nbsp;&nbsp;&nbsp;destWidth:&nbsp;nowCutW,\n&nbsp;&nbsp;&nbsp;destHeight:&nbsp;nowCutH,\n&nbsp;&nbsp;&nbsp;canvasId:&nbsp;'cutImg',\n&nbsp;&nbsp;&nbsp;success:&nbsp;function(res)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;aa&nbsp;=&nbsp;res.tempFilePath\n&nbsp;&nbsp;&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cutImgUrl:aa,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prienFlag:false,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alreay:false\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;}&nbsp;\n&nbsp;&nbsp;})\n&nbsp;},<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u7ea2\u6846\u6839\u636e\u624b\u6307\u79fb\u52a8\u65b9\u6cd5<\/p>\n<\/p>\n<pre>\/\/&nbsp;\u70b9\u51fb\u7ea2\u6846\u5f00\u59cb\u79fb\u52a8\n&nbsp;canvasMove:function(e){\n&nbsp;&nbsp;var&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;var&nbsp;canvasW&nbsp;=&nbsp;that.data.canvasW;\n&nbsp;&nbsp;var&nbsp;canvasH&nbsp;=&nbsp;that.data.canvasH;\n&nbsp;&nbsp;var&nbsp;nowCutW&nbsp;=&nbsp;that.data.cutType?canvasW:that.data.nowCutW;\n&nbsp;&nbsp;var&nbsp;nowCutH&nbsp;=&nbsp;that.data.cutType?that.data.cutH:that.data.nowCutH\n&nbsp;&nbsp;var&nbsp;touches&nbsp;=&nbsp;e.touches[0];&nbsp;&nbsp;\n&nbsp;&nbsp;var&nbsp;x&nbsp;=&nbsp;touches.x;\n&nbsp;&nbsp;var&nbsp;y&nbsp;=&nbsp;touches.y-(Number(nowCutH)\/2);\n&nbsp;&nbsp;that.data.cutType?x=0:x=x-(Number(nowCutW)\/2);\n&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;cutX:x,\n&nbsp;&nbsp;&nbsp;cutY:y\n&nbsp;&nbsp;})\n&nbsp;&nbsp;const&nbsp;ctx&nbsp;=&nbsp;wx.createCanvasContext('cutImg');\n&nbsp;&nbsp;ctx.setGlobalAlpha(0.4)\n&nbsp;&nbsp;ctx.drawImage(that.data.img,&nbsp;0,&nbsp;0,&nbsp;canvasW,&nbsp;canvasH)\n&nbsp;&nbsp;ctx.setFillStyle('red')\n&nbsp;&nbsp;ctx.fillRect(x,&nbsp;y,&nbsp;nowCutW,&nbsp;nowCutH)\n&nbsp;&nbsp;ctx.draw()\n&nbsp;},<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u4e0a\u65b9\u4e24\u4e2a\u9009\u62e9\u88c1\u526a\u65b9\u5f0f\u7684\u6309\u94ae<\/p>\n<p>\u7b49\u5c4f\u88c1\u526a<\/p>\n<\/p>\n<pre>\/\/\u7b49\u5c4f\u88c1\u526a\n&nbsp;etcType:function(){\n&nbsp;&nbsp;var&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;var&nbsp;propor&nbsp;=&nbsp;100;\n&nbsp;&nbsp;var&nbsp;canvasW&nbsp;=&nbsp;that.data.canvasW;\n&nbsp;&nbsp;var&nbsp;canvasH&nbsp;=&nbsp;that.data.canvasH;\n&nbsp;&nbsp;var&nbsp;cutH&nbsp;=&nbsp;that.data.cutH;\n&nbsp;&nbsp;var&nbsp;nowCutW&nbsp;=&nbsp;(Number(canvasW)*propor)\/100\n&nbsp;&nbsp;var&nbsp;nowCutH&nbsp;=&nbsp;(Number(cutH)*propor)\/100\n&nbsp;&nbsp;const&nbsp;ctx&nbsp;=&nbsp;wx.createCanvasContext('cutImg');\n&nbsp;&nbsp;ctx.setGlobalAlpha(0.4)\n&nbsp;&nbsp;ctx.drawImage(that.data.img,&nbsp;0,&nbsp;0,&nbsp;canvasW,&nbsp;canvasH)\n&nbsp;&nbsp;ctx.setFillStyle('red')\n&nbsp;&nbsp;ctx.fillRect(0,&nbsp;0,&nbsp;nowCutW,&nbsp;nowCutH)\n&nbsp;&nbsp;ctx.draw()\n&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;nowCutW:nowCutW,\n&nbsp;&nbsp;&nbsp;nowCutH:nowCutH,\n&nbsp;&nbsp;&nbsp;cutType:true\n&nbsp;&nbsp;})\n&nbsp;},<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u5c40\u57df\u88c1\u526a<\/p>\n<\/p>\n<pre>areaType:function(){\n&nbsp;&nbsp;var&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;var&nbsp;propor&nbsp;=&nbsp;that.data.propor;\n&nbsp;&nbsp;var&nbsp;canvasW&nbsp;=&nbsp;that.data.canvasW;\n&nbsp;&nbsp;var&nbsp;canvasH&nbsp;=&nbsp;that.data.canvasH;\n&nbsp;&nbsp;var&nbsp;cutH&nbsp;=&nbsp;that.data.cutH;\n&nbsp;&nbsp;var&nbsp;nowCutW&nbsp;=&nbsp;(Number(canvasW)*propor)\/100\n&nbsp;&nbsp;var&nbsp;nowCutH&nbsp;=&nbsp;(Number(cutH)*propor)\/100\n&nbsp;&nbsp;const&nbsp;ctx&nbsp;=&nbsp;wx.createCanvasContext('cutImg');\n&nbsp;&nbsp;ctx.setGlobalAlpha(0.4)\n&nbsp;&nbsp;ctx.drawImage(that.data.img,&nbsp;0,&nbsp;0,&nbsp;canvasW,&nbsp;canvasH)\n&nbsp;&nbsp;ctx.setFillStyle('red')\n&nbsp;&nbsp;ctx.fillRect(0,0,&nbsp;nowCutW,&nbsp;nowCutH)\n&nbsp;&nbsp;ctx.draw()\n&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;nowCutW:nowCutW,\n&nbsp;&nbsp;&nbsp;nowCutH:nowCutH,\n&nbsp;&nbsp;&nbsp;cutType:false\n&nbsp;&nbsp;})\n&nbsp;},<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u5c40\u57df\u88c1\u526a\u4e0a\u65b9\u7684\u6ed1\u52a8\u9009\u62e9\u7ea2\u6846\u6839\u636e\u5bbd\u5ea6\u7b49\u6bd4\u4f8b\u7f29\u653e<\/p>\n<\/p>\n<pre>areaChange:function(e){\n&nbsp;&nbsp;var&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;var&nbsp;propor&nbsp;=&nbsp;e.detail.value;\n&nbsp;&nbsp;var&nbsp;canvasW&nbsp;=&nbsp;that.data.canvasW;\n&nbsp;&nbsp;var&nbsp;canvasH&nbsp;=&nbsp;that.data.canvasH;\n&nbsp;&nbsp;var&nbsp;cutH&nbsp;=&nbsp;that.data.cutH;\n&nbsp;&nbsp;var&nbsp;nowCutW&nbsp;=&nbsp;(Number(canvasW)*propor)\/100\n&nbsp;&nbsp;var&nbsp;nowCutH&nbsp;=&nbsp;(Number(cutH)*propor)\/100\n&nbsp;&nbsp;const&nbsp;ctx&nbsp;=&nbsp;wx.createCanvasContext('cutImg');\n&nbsp;&nbsp;ctx.setGlobalAlpha(0.4)\n&nbsp;&nbsp;ctx.drawImage(that.data.img,&nbsp;0,&nbsp;0,&nbsp;canvasW,&nbsp;canvasH)\n&nbsp;&nbsp;ctx.setFillStyle('red')\n&nbsp;&nbsp;ctx.fillRect(that.data.cutX||0,&nbsp;that.data.cutY||0,nowCutW,&nbsp;nowCutH)\n&nbsp;&nbsp;ctx.draw()\n&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;nowCutW:nowCutW,\n&nbsp;&nbsp;&nbsp;nowCutH:nowCutH,\n&nbsp;&nbsp;&nbsp;propor:propor\n&nbsp;&nbsp;})\n&nbsp;},<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u91cd\u65b0\u88c1\u526a\u56de\u5230\u521d\u59cb\u9009\u62e9\u56fe\u7247\u7684\u9875\u9762<\/p>\n<\/p>\n<pre>\/\/&nbsp;\u91cd\u65b0\u88c1\u526a\n&nbsp;againBtn:function(){\n&nbsp;&nbsp;var&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;var&nbsp;data&nbsp;=&nbsp;that.data\n&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;prienFlag:true,\n&nbsp;&nbsp;&nbsp;alreay:true\n&nbsp;&nbsp;})\n&nbsp;&nbsp;const&nbsp;ctx&nbsp;=&nbsp;wx.createCanvasContext('cutImg');\n&nbsp;&nbsp;ctx.setGlobalAlpha(0.4)\n&nbsp;&nbsp;ctx.drawImage(data.img,&nbsp;0,&nbsp;0,&nbsp;data.canvasW,&nbsp;data.canvasH)\n&nbsp;&nbsp;ctx.setFillStyle('red')\n&nbsp;&nbsp;ctx.fillRect(that.data.cutX||0,&nbsp;that.data.cutY||0,&nbsp;data.nowCutW||data.canvasW,&nbsp;data.nowCutH||data.cutH)\n&nbsp;&nbsp;ctx.draw()\n&nbsp;},<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u73b0\u5728IOS\u8fd8\u6709\u4e2a\u5751\u5c31\u662f\u88c1\u526a\u4e0d\u4e86,\u5b98\u65b9\u6b63\u5728\u4fee\u590d\u4e0d\u77e5\u9053\u4ec0\u4e48\u65f6\u5019\u597d<\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u672c\u6587\u7684\u5168\u90e8\u5185\u5bb9\uff0c\u5e0c\u671b\u5bf9\u5927\u5bb6\u7684\u5b66\u4e60\u6709\u6240\u5e2e\u52a9\uff0c\u66f4\u591a\u76f8\u5173\u5185\u5bb9\u8bf7\u5173\u6ce8PHP\u4e2d\u6587\u7f51\uff01<\/p>\n<p>\u76f8\u5173\u63a8\u8350\uff1a<\/p>\n<\/p>\n<\/p>\n<p><span><\/span><\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u5982\u4f55\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u88c1\u526a\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u7bc7\u6587\u7ae0\u4e3b\u8981\u4ecb\u7ecd\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u5c4f\u88c1\u526a\u5b9e\u73b0\u65b9\u6cd5\uff0c\u5185\u5bb9\u633a\u4e0d\u9519\u7684\uff0c\u73b0\u5728\u5206\u4eab\u7ed9\u5927\u5bb6\uff0c\u4e5f\u7ed9\u5927\u5bb6\u505a\u4e2a\u53c2\u8003\u3002 \u672c\u6587\u4ecb\u7ecd\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u56fe\u7247\u9009\u62e9\u533a\u57df\u5c4f\u88c1\u526a\u5b9e\u73b0\u65b9\u6cd5\uff0c\u5206\u4eab\u7ed9\u5927\u5bb6\u3002\u5177\u4f53\u5982\u4e0b\uff1a \u6548\u679c\u56fe HTML\u4ee3\u7801 &lt;view&gt; &nbsp;&lt;view&gt; &nbsp;&lt;view&gt;\u5f00\u59cb\u88c1\u526a&lt;\/view&gt; &nbsp;&lt;view&gt;\u70b9\u51fb\u4e0a\u4f20\u56fe\u7247&lt;\/view&gt; &nbsp;&lt;view&gt;\u70b9\u51fb\u786e\u8ba4&lt;\/view&gt; &nbsp;&lt;\/view&gt; &nbsp;&lt;!&#8211; \u9009\u62e9\u88c1\u526a\u6a21\u5f0f &#8211;&gt; &nbsp;&lt;view&gt; &nbsp;&lt;view&gt; &nbsp;&nbsp;\u7b49\u5c4f\u88c1\u526a &nbsp;&lt;\/view&gt; &nbsp;&lt;view&gt; &nbsp;&nbsp;\u533a\u57df\u88c1\u526a &nbsp;&lt;\/view&gt; &nbsp;&lt;\/view&gt; &nbsp;&lt;view&gt; &nbsp;&lt;slider&gt;&lt;\/slider&gt; &nbsp;&lt;\/view&gt; &nbsp;&lt;view&gt; &nbsp;&lt;view&gt; &nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt; &nbsp;&lt;\/view&gt; &nbsp;&lt;view&gt;\u91cd\u65b0\u88c1\u526a&lt;\/view&gt; &nbsp;&lt;\/view&gt; &nbsp;&lt;view&gt; &nbsp;&lt;canvas&gt;&lt;\/canvas&gt; &nbsp;&lt;view&gt;&lt;\/view&gt; &nbsp;&lt;\/view&gt; &nbsp; &nbsp; &lt;\/view&gt; \u767b\u5f55\u540e\u590d\u5236 CSS\u4ee3\u7801 .imgCut_header{ &nbsp;padding:&nbsp;30rpx; &nbsp;display:&nbsp;flex; &nbsp;justify-content:&nbsp;space-between; &nbsp;align-items:&nbsp;center; &nbsp;background:&nbsp;#000; &nbsp;color:&nbsp;#fff; &nbsp;font-size:&nbsp;24rpx; } .allCavans{ &nbsp;margin:&nbsp;20rpx&nbsp;auto; &nbsp;position:&nbsp;relative; } .canvasSty{ &nbsp;position:&nbsp;absolute; } [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-31622","post","type-post","status-publish","format-standard","hentry","category-19"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/31622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=31622"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/31622\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=31622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=31622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=31622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}