Jcrop을 사용하여 업로드 된 이미지를 잘라내려고합니다. 내 의도는 사용자가 업로드 할 때 이미지를 잘라내는 것입니다. 사용자가 업로드 한 이미지를 서버에 저장할 필요가 없습니다. 하지만, 나는 이미지 사용자의 일부만을 Jcrop을 통해 서버에 저장해야한다.Jcrop을 사용하여 업로드 된 이미지 자르기
HTML :
<form id="form1">
<input type='file' id="imgInp" />
<img id="blah" class="crop" src="#" alt="your image" />
<input type="hidden" id="x" name="x" />
<input type="hidden" id="y" name="y" />
<input type="hidden" id="w" name="w" />
<input type="hidden" id="h" name="h" />
</form>
CSS :
<style>
#blah {
background-color: #FFF;
width: 500px;
height: 330px;
font-size: 24px;
display: block;
}
</style>
JS :
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#imgInp").change(function(){
console.log(this);
readURL(this);
$(function(){
$('.crop').Jcrop({
onSelect: updateCoords,
bgOpacity: .4,
setSelect: [ 100, 100, 50, 50 ],
aspectRatio: 16/9
});
});
});
function updateCoords(c)
{
console.log(c);
$('#x').val(c.x);
$('#y').val(c.y);
$('#w').val(c.w);
$('#h').val(c.h);
};
여기에 내가 다음 코드를 사용했다
문제에 대한 fiddle 링크입니다 내가 해봤 어. ike, 이미지를 업로드 한 후에 JCrop에 동일한 이미지가 사용되므로 나머지 이미지를 생성하기 위해 좌표 값을 얻을 수 있습니다. 내 문제는 지금이 : 업로드 할 때 업로드 된 이미지보다는 이미지 지점에 검은 색이 나타납니다. 누구든지 코드를 살펴보고 코드의 문제점을 찾아 낼 수 있습니까?
저는 캔버스를 사용하고 캔버스 http://www.w3schools.com/tags/canvas_getimagedata에서 이미지 데이터를 가져올 수 있다고 생각합니다. asp, jcrop이 캔버스를 사용하는지 모르겠다. 사용하지 않으면 jcrop과 다른 것을 필요로 할 수도있다. – arieljuod