anchor.diff:      if (properties.url == null) {
         return;
       }
  +
       _handler = new CanvasHandler(canvas);
       var rotated = properties.rotate % 2 == 1;
  -    _originalWidth = _handler.width = rotated?properties.width:properties.height;
  -    _originalHeight = _handler.height = rotated?properties.height:properties.width;
  +    _originalWidth = properties.width;
  +    _originalHeight = properties.height;
  +    _handler.width = rotated?_originalHeight:_originalWidth;
  +    _handler.height = rotated?_originalWidth:_originalHeight;
       _handler.addLayer(_imageLayer);
       _fullImage = new ImageElement(src:"/"+properties.url);
       _fullImage.onLoad.listen((_) {
  
positive.code: 
    int maxWidth, minWidth, maxHeight, minHeight;
  
    CanvasHandler _handler;
  
    CanvasLayer _cropLayer = new CanvasLayer(), _imageLayer = new CanvasLayer();
  
negative.code:       }
  
        if (properties.width != null) {
          if(_isRotated){
            _updateSize(properties.height, properties.width);
          } else {
            _updateSize(properties.width, properties.height);
          }
        }
        if (properties.cropX != null) {
          setCrop(properties.cropX / _handler.width, properties.cropY / _handler.height, properties.cropW / _handler.width, properties.cropH / _handler.height);
        } else {
  