将图像从Android画廊获取到C#

时间:2019-01-31 16:53:01

标签: c# android image unity3d

我正在Unity中创建一个android应用程序(我正在用C#编写代码),我几乎已经完成,只需要添加一些最终的调整使其有意义即可。目前,我在获取用户个人资料的个人资料图片时遇到了麻烦。我希望当用户按下按钮时,他的android画廊打开,当他选择图片时,该图片将显示在应用程序中并发送到数据库。像这样

public Button ChangeImage;
public Image ProfilePicture;

void Start()
{
    ChangeImage.onClick.AddListener(ChangeImageClicked);
}

void ChangeImageClicked()
{
    //here gallery would open and selected image would be returned
    //ProiflePicture = ChoosenImage
}

我用谷歌搜索了一个星期左右的解决方案,但没有找到。我读到有关Intent的信息,但C#无法识别它们。所有帮助将不胜枚举。

1 个答案:

答案 0 :(得分:0)

有许多插件可以很好地为您处理。其中之一是NativeGalery。 我自己将其用于项目。

我的代码中的一个片段:

int localScore = 0;
for(int i = 0; i < word.length(); i++)
{
    localScore += scrabbleLetterValue(word.charAt(i));
}
return localScore;

public Image LocalProfileImage; public void ShowMediaPicker() { if (Application.isEditor) { // Do something else, since the plugin does not work inside the editor } else { NativeGallery.GetImageFromGallery((path) => { UploadNewProfileImage(path); Texture2D texture = NativeGallery.LoadImageAtPath(path); if (texture == null) { Debug.Log("Couldn't load texture from " + path); return; } LocalProfileImage.sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero); }); } } 是我的功能,它将图像发送到数据库。基本上,您应该从路径中检索图像,然后使用流读取器将其转换为字节。