Using a java action, it is quite trivial to copy an image with contents. This java action takes a Logo (descendant of System.Image) as argument, an returns a new one. Note that it creates a thumbnail of 60x60 as well.
public CopyLogo(IMendixObject LogoToCopy)
{
super();
this.LogoToCopy = LogoToCopy == null ? null : appstore.proxies.Logo.initialize(LogoToCopy);
}
@Override
public IMendixObject executeAction() throws Exception
{
// BEGIN USER CODE
Logo newLogo = Logo.create(this.getContext());
newLogo.setName(this.getContext(), LogoToCopy.getName(this.getContext()));
InputStream inputStream = Core.getFileDocumentContent(this.getContext(), LogoToCopy.getMendixObject());
Core.storeImageDocumentContent(this.getContext(), newLogo.getMendixObject(), inputStream, 60, 60);
return newLogo.getMendixObject();
// END USER CODE
}