|
1051 | 1051 |
|
1052 | 1052 | var c = rect.centerPoints(); |
1053 | 1053 | var angle = getRotateAngle([c.x,c.y], [rorate.x,rorate.y], [pos.x,pos.y]) |
1054 | | - |
| 1054 | + // console.log(angle* 180 / Math.PI); |
1055 | 1055 | if(parseInt(angle* 180 / Math.PI)== 89 || parseInt(angle* 180 / Math.PI)== -89){ |
1056 | 1056 | rect.oldDegree = rect.degree; |
1057 | 1057 | rorate = rotateHandle.centerPoints(); |
1058 | 1058 | var angle = getRotateAngle([c.x,c.y], [rorate.x,rorate.y], [pos.x,pos.y]) |
1059 | 1059 |
|
1060 | 1060 |
|
1061 | | - rect.setDegree(rect.oldDegree+parseInt(angle* 180 / Math.PI)); |
1062 | | - rotateHandle.setDegree(rect.degree); |
| 1061 | + // rect.setDegree(rect.oldDegree+parseInt(angle* 180 / Math.PI)); |
| 1062 | + rect.setDegree(rect.oldDegree); |
| 1063 | + |
1063 | 1064 |
|
1064 | 1065 | }else{ |
1065 | 1066 |
|
1066 | 1067 | rect.setDegree(rect.oldDegree+parseInt(angle* 180 / Math.PI)); |
1067 | 1068 |
|
1068 | | - rotateHandle.setDegree(rect.degree); |
1069 | | - |
1070 | 1069 | } |
1071 | 1070 |
|
| 1071 | + rotateHandle.setDegree(rect.degree); |
1072 | 1072 | } |
1073 | 1073 | }, |
1074 | 1074 | mouseup:function(e,pos){ |
1075 | 1075 | rorate = null; |
1076 | 1076 |
|
1077 | | - //重置缩放句柄位置 |
1078 | | - var point = rect.polyPoints(); |
1079 | | - h1.setDegree(rect.degree).setStart([point[0].x - 5, point[0].y - 5]); |
1080 | | - h2.setDegree(rect.degree).setStart([point[1].x - 5, point[1].y - 5]); |
1081 | | - h3.setDegree(rect.degree).setStart([point[2].x - 5, point[2].y - 5]); |
1082 | | - h4.setDegree(rect.degree).setStart([point[3].x - 5, point[3].y - 5]); |
1083 | 1077 |
|
1084 | | - resizelayer.setDisplay('block'); |
| 1078 | + //角度换算到 -360~360 |
| 1079 | + if(rect.degree <0){ |
| 1080 | + var rate = parseInt(Math.abs(rect.degree)/360); |
| 1081 | + rect.setDegree(360*rate + rect.degree); |
| 1082 | + }else{ |
| 1083 | + var rate = parseInt(rect.degree/360); |
| 1084 | + rect.setDegree(rect.degree - 360*rate); |
| 1085 | + } |
| 1086 | + |
| 1087 | + |
| 1088 | + //重置缩放句柄位置 |
| 1089 | + var point = rect.polyPoints(); |
| 1090 | + h1.setDegree(rect.degree).setStart([point[0].x - 5, point[0].y - 5]); |
| 1091 | + h2.setDegree(rect.degree).setStart([point[1].x - 5, point[1].y - 5]); |
| 1092 | + h3.setDegree(rect.degree).setStart([point[2].x - 5, point[2].y - 5]); |
| 1093 | + h4.setDegree(rect.degree).setStart([point[3].x - 5, point[3].y - 5]); |
1085 | 1094 |
|
1086 | | - qcanvas.removeEle(tmp); |
| 1095 | + resizelayer.setDisplay('block'); |
1087 | 1096 |
|
| 1097 | + qcanvas.removeEle(tmp); |
1088 | 1098 | } |
1089 | 1099 |
|
1090 | 1100 | }) |
|
0 commit comments