// var image = document.getElementById('image'); // var a = document.getElementById('touch_pad'); // input- var x1 = document.getElementById('x1'); var y1 = document.getElementById('y1'); var w = document.getElementById('w'); var h = document.getElementById('h'); // a.onmousedown = function(e){ // shift, if(e.shiftKey){ // var koefx = e.clientX + e.clientY; // var d = image.offsetWidth; // a.onmousemove = function(e){ // , koefx var reli = e.clientX + e.clientY; // image.style.width = d + reli*2 - koefx*2 + 'px'; var wid = image.width; var heig = image.height; // 400px, 200px - // 100px x y var ll = 100 - image.offsetLeft; var tt = 100 - image.offsetTop; // x y x1.setAttribute('value', ll); y1.setAttribute('value', tt); w.setAttribute('value', wid); h.setAttribute('value', heig); } }
else { // var x = e.pageX; var y = e.pageY; // var lleft = image.offsetLeft; var ttop = image.offsetTop; // x y var lleft = x - lleft; var ttop = y - ttop; // a.onmousemove = function(e){ // x = e.pageX; y = e.pageY; // var l = image.offsetLeft; var t = image.offsetTop; // var ll = 100 - Number(l); var tt = 100 - Number(t); // image.style.marginLeft = x - lleft; image.style.marginTop = y - ttop; var wid = image.width; var heig = image.height; x1.setAttribute('value', ll); y1.setAttribute('value', tt); w.setAttribute('value', wid); h.setAttribute('value', heig); } } // mouseup mousemove a.onmouseup = function(){ a.onmousemove = function(){} } return }
a.ontouchstart = function(e){ // // , scal(), if(e.targetTouches.length == 2){ scal(e); } // , if(e.targetTouches.length == 1){ // targetTouches , // , [0], ( ) // e ( mousedown mousemowe ) // e targetTouches [0] // handl var handl = e.targetTouches[0]; var x = handl.pageX; var y = handl.pageY; var lleft = image.offsetLeft; var ttop = image.offsetTop; var lleft = x - lleft; var ttop = y - ttop; a.ontouchmove = function(e) { var handle = e.targetTouches[0] x = handle.pageX; y = handle.pageY; var l = image.offsetLeft; var t = image.offsetTop; var ll = 100 - Number(l); var tt = 100 - Number(t); image.style.marginLeft = x - lleft; image.style.marginTop = y - ttop; a.ontouchend = function(){ var wid = image.width; var heig = image.height; x1.setAttribute('value', ll); y1.setAttribute('value', tt); w.setAttribute('value', wid); h.setAttribute('value', heig); } } } return }
// - function scal(e){ // touc var touc = e.targetTouches; var cur_w = image.offsetWidth; // var koef = Math.sqrt(Math.pow((touc[0].clientX - touc[1].clientX), 2) + Math.pow((touc[0].clientY - touc[1].clientY), 2)); // touchmove a.ontouchmove = function(e){ var tou = e.targetTouches; var relis = Math.sqrt(Math.pow((tou[0].clientX - tou[1].clientX), 2) + Math.pow((tou[0].clientY - tou[1].clientY), 2)); var im = image.offsetWidth; // image.style.width = cur_w + relis*2 - koef*2 + 'px'; } // touchend a.ontouchend = function(e){ var wid = image.width; var heig = image.height; var ll = 100 - image.offsetLeft; var tt = 100 - image.offsetTop; x1.setAttribute('value', ll); y1.setAttribute('value', tt); w.setAttribute('value', wid); h.setAttribute('value', heig); } }
// a.onwheel = function(e){ var t = e.deltaY/5; var d = image.offsetWidth; image.style.width = dt; var wid = image.width; var heig = image.height; var ll = 100 - image.offsetLeft; var tt = 100 - image.offsetTop; x1.setAttribute('value', ll); y1.setAttribute('value', tt); w.setAttribute('value', wid); h.setAttribute('value', heig); return }
<? if(isset($_POST['crop'])){ $filename = 'img.jpg'; $new_filen = 'ava/img.jpg'; list($current_width, $current_height) = getimagesize($filename); $x1 = $_POST['x']; $y1 = $_POST['y']; $w = $_POST['w']; $h = $_POST['h']; $new = imagecreatetruecolor($w, $h); $current_image = imagecreatefromjpeg($filename); imagecopyresampled($new, $current_image, 0, 0, 0, 0, $w, $h, $current_width, $current_height); $final = imagecreatetruecolor(200, 200); imagecopy($final, $new, 0, 0, $x1, $y1, 200, 200); $fin_creat = imagejpeg($final, $new_filen, 100); $handle = fopen($new_filen, "r"); unlink($filename ); } ?>
Source: https://habr.com/ru/post/314180/
All Articles