Is it possible to use a background image in a polygon without rasterizing the polygon?
I tried with textures, but they seem to be viable only for simple polygons.
I want to put a flag as the background of the polygon that represents a country shape. I can do this for one country by rasterizing the polygon:
ImageAdd[
Graphics[CountryData["Monaco", "Polygon"]],
CountryData["Monaco", "Flag"]
]

But by rasterizing the polygon, I make it difficult to apply this procedure to several neigboring countries and assemble them together.
I would like to put each country flag in the background of, for example:
Graphics[
{EdgeForm[White],
CountryData[#, "Polygon"] & /@ {"Venezuela", "Colombia"}}]

Solution
After seeing cormullion answer, I was able to do what I wanted:
Graphics[
{EdgeForm[Black],
{{Texture[ImageReflect[CountryData[#, "Flag"], Top -> Right]],
CountryData[#, "Polygon"] /.
{Polygon[a_] :> Polygon[First[a], VertexTextureCoordinates ->
Transpose[Rescale /@ Transpose[First[CountryData[#, "Coordinates"]]]]]}} & /@
CountryData["SouthAmerica"]}}]

The key part is the use of Rescale[]. Thank you!



ImagePaduseful if you want small flags inside country borders – Szabolcs Feb 5 '12 at 1:00