public static void SerializeDataToAlbum(Texture2D p_texture, string p_fileName) { FixInstanceName(); var v_extension = "." + CrossPickerServices.EncodeOption.ToString().ToLower(); if (!string.IsNullOrEmpty(p_fileName) && !p_fileName.EndsWith(v_extension)) { p_fileName += v_extension; } byte[] v_data = p_texture != null ? (CrossPickerServices.EncodeOption == CrossPickerServices.TextureEncoderEnum.JPG ? p_texture.EncodeToJPG() : p_texture.EncodeToPNG()) : null; NativeGallery.MediaSaveCallback v_mediaSaveDelegate = (error) => { if (string.IsNullOrEmpty(error)) { var v_temporarySavePath = CrossPickerServices.SaveTextureToTemporaryPath(v_data, System.IO.Path.GetFileName(p_fileName)); Instance.NativeImageSaveSuccess(v_temporarySavePath); } else { Instance.NativeImageSaveFailed(); } }; NativeGallery.SaveImageToGallery(v_data, Application.productName, p_fileName, v_mediaSaveDelegate); }
public override void Show() { CrossPickerServices.OnPickerFinish += HandleOnPickerReturn; if (m_pickerMode == PickerModeEnum.Gallery) { CrossPickerServices.DeserializeAlbumImage(); } else if (m_pickerMode == PickerModeEnum.Camera) { if (m_cameraMode == CameraModeEnum.ControlledByManager) { CrossPickerServices.DeserializeCameraImage(); } else { CrossPickerServices.DeserializeCameraImage(m_cameraMode == CameraModeEnum.SaveToGallery); } } else { _CachedDialog = null; ShowFrameActivity(_CachedDialog, IMAGE_PICKER_DIALOG, (dialog, isDialog) => { dialog.destroyOnHide = true; dialog.Initialize(m_cameraMode, HandleOnPickerReturn, HandleOnHide); }); } }
protected virtual void NativeImagePickedEnd(string p_path) { var v_texture = !string.IsNullOrEmpty(p_path)? NativeCamera.LoadImageAtPath(p_path, -1, false) : null; var v_temporarySavePath = CrossPickerServices.SaveTextureToTemporaryPath(v_texture); CrossPickerServices.CallPickerFinishEvent(v_temporarySavePath, v_texture); }
protected void Hide_Internal(ExternImgFile result, bool forceCallEventIfFailed, bool callHide) { if (callHide) { Hide(); } UnregisterEvents(); if (result != null && !string.IsNullOrEmpty(result.Url)) { if (_onPickerSucessCallback != null) { _onPickerSucessCallback(result); } _onPickerSucessCallback = null; if (OnPickerSucess != null) { OnPickerSucess.Invoke(result); } } else { if (forceCallEventIfFailed) { CrossPickerServices.CallPickerFinishEvent(result); } if (_onPickerFailedCallback != null) { _onPickerFailedCallback(); } _onPickerFailedCallback = null; OnPickerFailed.Invoke(); } base.Hide(); }
public static void DeserializeCameraImage(bool p_saveToGallery) { FixInstanceName(); CrossPickerServices.CallPickerFinishEvent(null); if (p_saveToGallery) { CrossPickerServices.CallImageSavedFailedEvent(); } Debug.Log("DeserializeCameraImage is Invalid on Standalone"); }
protected virtual void NativeCameraPickedEnd(string p_path, bool p_saveToGallery) { var v_texture = !string.IsNullOrEmpty(p_path) ? NativeGallery.LoadImageAtPath(p_path, CrossPickerServices.MaxImageLoadSize, false, false) : null; if (p_saveToGallery && v_texture != null) { CrossPickerServices.SerializeDataToAlbum(v_texture, System.IO.Path.GetFileNameWithoutExtension(p_path)); } var v_temporarySavePath = CrossPickerServices.SaveTextureToTemporaryPath(v_texture); //CrossPickerServices.GetTemporarySavePath(CrossPickerServices.GetUniqueImgFileName(CrossPickerServices.EncodeOption)); CrossPickerServices.CallPickerFinishEvent(v_temporarySavePath, v_texture); }
protected void CallPickerCamera() { RegisterEvents(); if (m_CameraMode == PickerSelectorForm.CameraModeEnum.ControlledByManager) { CrossPickerServices.DeserializeCameraImage(); } else { CrossPickerServices.DeserializeCameraImage(m_CameraMode == PickerSelectorForm.CameraModeEnum.SaveToGallery); } }
public static void SerializeDataToAlbum(Texture2D p_texture, string p_fileName) { FixInstanceName(); var v_extension = "." + CrossPickerServices.EncodeOption.ToString().ToLower(); if (!string.IsNullOrEmpty(p_fileName) && !p_fileName.EndsWith(v_extension)) { p_fileName += v_extension; } byte[] v_data = p_texture != null ? (CrossPickerServices.EncodeOption == CrossPickerServices.TextureEncoderEnum.JPG ? p_texture.EncodeToJPG() : p_texture.EncodeToPNG()) : null; var v_temporarySavePath = CrossPickerServices.SaveTextureToTemporaryPath(v_data, System.IO.Path.GetFileName(p_fileName)); if (!string.IsNullOrEmpty(v_temporarySavePath)) { CrossPickerServices.CallImageSavedSucessEvent(v_temporarySavePath); } else { CrossPickerServices.CallImageSavedFailedEvent(); } }
protected virtual void NativeImageSaveSuccess(string p_path) { CrossPickerServices.CallImageSavedSucessEvent(p_path); }
protected virtual void NativeImageSaveFailed() { CrossPickerServices.CallImageSavedFailedEvent(); }
protected void CallPickerGallery() { RegisterEvents(); CrossPickerServices.DeserializeAlbumImage(); }