Not that it eliminates the distortion, but you can get a result closer to your example by fiddling with the numbers and changing the height..
Lua Code:
local tx = UIParent:CreateTexture(nil, 'BACKGROUND')
tx:SetSize(80, 80)
tx:SetPoint('CENTER')
tx:SetTexture(0,0.8,0.2,0.5)
local icon = UIParent:CreateTexture(nil, 'OVERLAY')
icon:SetTexture('interface/icons/ability_ambush', true)
icon:SetPoint('CENTER', tx)
icon:SetSize(80, 120)
icon:SetTexCoord(0, -0.25, -0.25, 1.25, 1, -0.25, 1.25, 1.25)