I ran into the problem of translate3d producing low quality results when scaling images in a gallery. The solution for me was to use translateX(...) translateY(...) scale(...) instead of translate3d(...) scale(...). It results in high-quality scaled/transformed content. If you need to manipulate the Z axis too, I'm sure you can add translateZ(...) into the mix.