rotate Canvas instead of imageView, use LAYER_TYPE_SOFTWARE, and use setShadowLayer()