/unimgpicker

Image picker for Unity iOS/Android

Primary LanguageC#MIT LicenseMIT

unimgpicker

Image picker for Unity iOS/Android

unimgpicker_ios unimgpicker_android

Getting Started

Define Photo Library Usage Description on Unimgpicker/Editor/NSPhotoLibraryUsageDescription.txt

ex: Unimgpicker/Editor/NSPhotoLibraryUsageDescription.txt

Use the image to create your profile.

Demo

Read image, create texture and render it on the Cube(MeshRenderer).

using UnityEngine;
using System.Collections;

namespace Kakera
{
    public class PickerController : MonoBehaviour
    {
        [SerializeField]
        private Unimgpicker imagePicker;

        [SerializeField]
        private MeshRenderer imageRenderer;

        void Awake()
        {
            // Unimgpicker returns the image file path.
            imagePicker.Completed += (string path) =>
            {
                StartCoroutine(LoadImage(path, imageRenderer));
            };
        }

        public void OnPressShowPicker()
        {
            // With v1.1 or greater, you can set the maximum size of the image
            // to save the memory usage.
            imagePicker.Show("Select Image", "unimgpicker", 1024);
        }

        private IEnumerator LoadImage(string path, MeshRenderer output)
        {
            var url = "file://" + path;
            var www = new WWW(url);
            yield return www;

            var texture = www.texture;
            if (texture == null)
            {
                Debug.LogError("Failed to load texture url:" + url);
            }

            output.material.mainTexture = texture;
        }
    }
}

Development

  • The Android project depends on OSX
    • Because it loads classes.jar from the Unity Application path.