То, как редакторы, такие как tinyMCE и CKEditor, делают это так:
<div contenteditable="true" id="div1">
<img src="tache17.jpg" />
</div>
<a href="javascript:alert(document.getElementById('div1').innerHTML)">gimme html</a>
Это браузер, а не JS.
Конечно, размещение изображения в div и создание div contentEditable выполняется с помощью JS, но дескрипторы изменения размера, о которых вы говорите, генерируются браузером.
Примечание
Я не проверял это ни в чем, кроме Firefox