using System.IO;
using UnityEngine;
using System.Collections;
using Vuforia;
public class test : MonoBehaviour {
public GameObject SreenCapturePreview;
private bool isFrameFormatSet;
private Image.PIXEL_FORMAT format = Image.PIXEL_FORMAT.GRAYSCALE;
public string aaaa;
// Use this for initialization
void Start () {
CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}
private void Update()
{
var vuforia = GetComponent<QCARBehaviour>();
//if (vuforia != null)
// return;
if (vuforia.enabled && !isFrameFormatSet)
{
isFrameFormatSet = CameraDevice.Instance.SetFrameFormat(format, true);
CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
print("init vuforia camera>>" + isFrameFormatSet);
}
}
void OnGUI()
{
if (GUI.Button(new Rect(0, 0, 100, 100), "cap"))
{
StartCoroutine(GetCapture2());
}
GUI.Label(new Rect(100,100,100,100), aaaa);
}
// Update is called once per frame
private IEnumerator GetCapture2()
{
yield return new WaitForEndOfFrame();
aaaa = "22222";
Image cameraFeed = CameraDevice.Instance.GetCameraImage(Image.PIXEL_FORMAT.RGB888);
aaaa = "333";
Debug.Log(cameraFeed.Width);
var tex = new Texture2D(cameraFeed.BufferWidth,cameraFeed.BufferHeight, TextureFormat.RGBA32, false);
aaaa = "444";
cameraFeed.CopyToTexture(tex);
aaaa = "555";
// byte[] byt = tex.EncodeToPNG();
aaaa = "111";
// tex.Apply();
SreenCapturePreview.renderer.material.mainTexture = tex; //对屏幕缓存进行显示(缩略图)
tex.Apply();
// File.WriteAllBytes(Application.streamingAssetsPath + "/CutImage.png", byt);
}
}
using UnityEngine;
using System.Collections;
using Vuforia;
public class test : MonoBehaviour {
public GameObject SreenCapturePreview;
private bool isFrameFormatSet;
private Image.PIXEL_FORMAT format = Image.PIXEL_FORMAT.GRAYSCALE;
public string aaaa;
// Use this for initialization
void Start () {
CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}
private void Update()
{
var vuforia = GetComponent<QCARBehaviour>();
//if (vuforia != null)
// return;
if (vuforia.enabled && !isFrameFormatSet)
{
isFrameFormatSet = CameraDevice.Instance.SetFrameFormat(format, true);
CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
print("init vuforia camera>>" + isFrameFormatSet);
}
}
void OnGUI()
{
if (GUI.Button(new Rect(0, 0, 100, 100), "cap"))
{
StartCoroutine(GetCapture2());
}
GUI.Label(new Rect(100,100,100,100), aaaa);
}
// Update is called once per frame
private IEnumerator GetCapture2()
{
yield return new WaitForEndOfFrame();
aaaa = "22222";
Image cameraFeed = CameraDevice.Instance.GetCameraImage(Image.PIXEL_FORMAT.RGB888);
aaaa = "333";
Debug.Log(cameraFeed.Width);
var tex = new Texture2D(cameraFeed.BufferWidth,cameraFeed.BufferHeight, TextureFormat.RGBA32, false);
aaaa = "444";
cameraFeed.CopyToTexture(tex);
aaaa = "555";
// byte[] byt = tex.EncodeToPNG();
aaaa = "111";
// tex.Apply();
SreenCapturePreview.renderer.material.mainTexture = tex; //对屏幕缓存进行显示(缩略图)
tex.Apply();
// File.WriteAllBytes(Application.streamingAssetsPath + "/CutImage.png", byt);
}
}