Edit in JSFiddle

(function($) {
this.DragnDrop = new Class({
    
    Implements: [Options,Events],

    options: {
        target: '.dragndrop',
        onDragover:$empty,
        onDrop:$empty,
        onDragleave:$empty,
        onDragenter:$empty
    },
    
    initialize: function(options) {
        this.setOptions(options);
        
        $$(this.options.target).each(function(el,i){
                
            if(el.get('tag') == 'img'){
                el = this.createWrapper(el);
            }
            
            el.ondrop=function(e){
                e.preventDefault();
                this.fileDrop(e.dataTransfer.files[0],el);
                this.fireEvent('drop',el);
            }.bind(this);
            
            el.ondragover=function(e){
                e.preventDefault();
                this.fireEvent('dragover',el);
            }.bind(this);
            
            el.ondragleave=function(e){
                e.preventDefault();
                this.fireEvent('dragleave',el);
            }.bind(this);
            
            el.ondragenter=function(e){
                e.preventDefault();
                this.fireEvent('dragenter',el);
            }.bind(this);
        
        },this);
    },
    
    createWrapper:function(el){
        var className = this.options.target.replace('.','');
        var wrap = new Element('div',{'class':el.className+' '+className,'styles':{'background':'url('+el.src+') no-repeat left top','width':el.getSize().x, 'height':el.getSize().y,'position':'relative'}});
        
        wrap.inject(el,"before");
        el.destroy();
        return wrap;
    },
    
    fileDrop:function(file,el){
      
        if (!file) {
            return;
        }
        
        if(!file.type.match(/image\/\w+/)){
            alert('画像をドロップしてください。');
        }
        
        var img = new Element("img");
        
        
        img.addEvent('mousewheel', function(e){
                                        e.stop();
                                        
                                        if (e.wheel < 0){//down
                                        
                                            img.width /= 1.1;
                                            img.height /= 1.1;
                                        } else {//up
                                            img.width *= 1.1;
                                            img.height *= 1.1;
                                        }
                                    });
                
        var reader = new FileReader();
        
        reader.onload = function(e) {
            img.src = e.target.result;
        }
        
        reader.readAsDataURL(file);
        
        img.inject(el);
        
        new Drag.Move(img);
            
        var change = new Element('span',{'class':'sizeChange','text':'マウスホイールでサイズ変更が出来ます','styles':{'position':'absolute','top':0,'right':0,'z-index':100}});
    
        (function(){change.fade(0);}).delay(3000);

        change.inject(el);
           
    }
    
});
})(document.id);

window.addEvent('domready', function(){
                                     
        new DragnDrop({
            onDragover:function(el){
                el.setStyle('border','dotted 1px red');
            },
            onDragleave:function(el){
                el.setStyle('border','none');
            },
            onDrop:function(el){
                el.setStyle('border','none');
            }
        });
  
});
<div id="target" class="dragndrop"></div>
#target {
    height:300px;
    background-color:#9CF;
}
.dragndrop {
    overflow:hidden;
    position:relative;
}

.sizeChange {
    background-color:rgba(255,255,255,0.8);
    font-size:10px;
    padding:5px;
}