Scaling up any bitmapped image such as png will always look pixelated. To avoid this, if you have the memory, save the non-scaled image twice the size you currently have now and scale down 50% to get it looking like the non-scale image in the above diagram. To get it looking crisp at 2x-scale, you don't scale at all because it is already at that size.
Your other option is to use vectors, but this can become expensive in terms of consuming processing time and may lack finer details compared to bitmap, i.e. look cartoony but that could be a positive on your game. You also need to find an appropriate library to do this. The advantage of using vectors is that it will most likely take up less memory and will look good, as long as it isn't too tiny, at any scale compared to using bitmaps.