我正在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#无法识别它们。所有帮助将不胜枚举。
答案 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);
});
}
}
是我的功能,它将图像发送到数据库。基本上,您应该从路径中检索图像,然后使用流读取器将其转换为字节。