Could you accomplish what you want using a "layer-list" drawable? It allows you to combine a shape and a graphic drawable like so:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_home_button_img"/>
<item android:drawable="@drawable/icon_home_shape_overlay"/>
</layer-list>
In this case, shape_overlay is:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#60000000"/>
<stroke android:width="3dp" color="#ff000000"/>
<corners android:radius="10dp" />
</shape>
I'm using this to get a "selected" effect on an image. It works for me, though, because the image in question is an icon and the background is the same color as the containing view's background (both are white).
The other option I see is to modify the drawable so it has rounded corners.