2015-02-23 4 views
0

У меня есть самолет, который содержать WebCamTexture и кнопку, чтобы захватить изображение enter image description hereИзменение захваченного изображения в Unity3D

скрипт для захвата изображения

void CaptureAndSave() { 
    Debug.Log (Camera_panel_script.webCameraTexture); 
    Texture2D snap = new Texture2D(Camera_panel_script.webCameraTexture.width, Camera_panel_script.webCameraTexture.height); 
    snap.SetPixels(Camera_panel_script.webCameraTexture.GetPixels()); 
    snap.Apply(); 
    Debug.Log (Application.persistentDataPath.ToString()); 
    System.IO.File.WriteAllBytes(
     Application.persistentDataPath+"/my_image.png", 
     snap.EncodeToPNG() 
     ); 
} 

enter image description here

Это приведенное изображение

как я могу изменить свой код, чтобы добавить the image логотип по моей приведенной картинке? так что захваченное изображение будет выглядеть следующим образом:

enter image description here

ответ

0

Если у вас есть Unity Pro, один метод будет иметь дополнительный набор камеры таким образом, что только делает захваченное изображение и изображение над ним в RenderTexture, а затем сохраните эту RenderTexture. Однако для RenderTextures вам нужен Pro.

Пути вы могли бы сделать это в Unity Free копирует каждый пиксель из изображения unsing GetPixel (http://docs.unity3d.com/ScriptReference/Texture2D.GetPixel.html) и помещая каждый пиксель в правильном положении на захваченное изображение с SetPixel (http://docs.unity3d.com/ScriptReference/Texture2D.SetPixel.html).

Это медленное явление. Вам нужно будет циклически перебирать каждый пиксель на изображении выше и помещать его в правильное положение на целевом изображении. И, бегущая Texture2D.Apply();

+0

Есть ли какой-нибудь живой демонстрационный пример, который я могу видеть? – Sora

+0

Можете ли вы, пожалуйста, показать мне пример? – Sora

+0

@Sora Привет, у меня нет примера. Какая у вас сложность? Вы пытались сменить отдельные пиксели? Вы пытались изменить каждый пиксель на случайный цвет? Эти упражнения могут помочь вам понять использование функций. Если это логично, подумайте, что вам нужно читать пиксели из логотипа и затем помещать их в захваченное изображение, при смещении X и Y, а затем делать Применить к текстуре, чтобы увидеть изменения. Надеюсь, поможет. – jbernardo

Смежные вопросы