merage two texture or sprite into one

Hello , I want merage two texture or sprite into one at runtime in my game. Now i use getPixel and setPixel to do this , but is cost much time, is there any other way to do this job? this two textures is not the same size, the first is the background 1158 x 750 ,and the second one is the player , most of them is 300 X 300. Now i need getPixel 300 X 300 time,and setPixel 300X300 time. The platform is mobile, I try to use a shader to do this, but I do not know much about shader, so I failed because the different size, and the player texture or sprite may at a special position, maybe is out of the background range. For example, the background is 1158X750, and the player is 300X300, the position is (1660, -30) I do not know how to do this. Thanks

GetPixels(int x, int y, int blockWidth, int blockHeight, int miplevel);
SetPixels(int x, int y, int blockWidth, int blockHeight, Color[] colors, int miplevel = 0);

This should do the trick faster than a for loop of getpixel setpixel.
It should support transparency.