How do I set pixels with WebCamTexture.GetPixels

I am currently trying to create a still image 2D texture with my webcam, but I am unsure of how to use the data from WebCamTexture.GetPixels. I see for Texture2D it has both .GetPixels and .SetPixels but no SetPixels for WebCamTexture. Do I need to convert the WebCamTexture to Texture2D? Is that even possible?

Any help is much appreciated!

Joe

WebCamTexture cam_texture;
void Start () {
WebCamDevice cam_devices = WebCamTexture.devices;
cam_texture = new WebCamTexture(cam_devices[0].name, 480, 640, 30);
if(cam_texture != null)
cam_texture.Play();
}

void OnGUI()
{
   if(GUI.Button(new Rect(110,10, 100, 60), new GUIContent("capture")))
   {
	      cam_texture.Pause();
	      BlitImage();
   }
}
void BlitImage()
{
	Texture2D destTexture = new Texture2D(cam_texture.width, cam_texture.height, TextureFormat.ARGB32, false);
	
	Color[] textureData = cam_texture.GetPixels();
	
	destTexture.SetPixels(textureData);
	destTexture.Apply();
	byte[] pngData = destTexture.EncodeToPNG();
	if(File.Exists(Application.persistentDataPath+"/capturedPic2.png"))
	{
		File.Delete(Application.persistentDataPath+"/capturedPic2.png");
	}
	File.WriteAllBytes(Application.persistentDataPath+"/capturedPic2.png",pngData);
	Debug.Log("pic saved to"+Application.persistentDataPath);

}