I am trying to add an image cropper to my site, while also sending the image dimensions for processing when the image is sent to be cropped. I can get the image to show up in the preview box, but I cannot get javascript to output my image dimensions.
My script is:
<script type="text/javascript">
function PreviewImage() {
var oFReader = new FileReader();
oFReader.readAsDataURL(document.getElementById("id_avatar").files[0]);
oFReader.onload = function (oFREvent) {
document.getElementById("avatar_preview").src = oFREvent.target.result;
};
var imgheight;
var imgwidth;
function getDimensions() {
imgheight = image.height;
imgwidth = image.width;
document.getElementById('image_dimension').value = ('The image size is ' + imgwidth + ' x ' + imgheight );
};
var image = new Image();
image.src = document.getElementById('avatar_preview').src;
image.onload = getDimensions();
};
</script>
And my HTML:
<input type='file' id='id_avatar' name='avatar' onchange="PreviewImage();" /><br />
<div id="parent" style="width: 300px; height: 300px; overflow: hidden;">
<img id="avatar_preview" src="#" alt="your image" style="width:400px;" />
</div>
<input type='text' id='image_dimension' name='image_dimension' />
This code gives me "This image is 0 x 0" in the image_dimension text field.