KraGenDeveloper
@KraGenDeveloper
Unity Developer

Как загрузить изображение из приложения на телефон?

Здравствуйте, в проекте есть изображение image как мне при нажатии на кнопку загружать это изображение на телефон что бы потом мог например в галерее глянуть его?
  • Вопрос задан
  • 28 просмотров
Решения вопроса 1
@Ezekiel4
Охотник на пиратов и сборщик монолитов
Определитесь с форматом изображения для сохранения. Обычно используют формат *.png, но и для других есть готовые решения. В качестве папки для сохранения можете использовать persistentDataPath или выбрать что-то своё. По итогу получится:
// imageTitle - имя файла, например, time stamp
string pathToFile = Application.persistentDataPath + "/" + imageTitle + ".png";

Далее выберите изображение, которое вам нужно, представив его как тип Texture2D (напишите, если вам нужно что-то другое). И используйте метод типа:
using System.IO;

// ...

public bool SavePNG(Texture2D texture, string pathToFile) {
	if (!File.Exists(pathToFile)) {
		byte[] bytes = texture.EncodeToPNG();
		File.WriteAllBytes(pathToFile, bytes);
		return true;
	}
	return false;
}

Если же потом прямо из приложения нужно прочитать внешнюю картинку, то:
public static Texture2D LoadPNG(string pathToFile) {
	Texture2D texture = null;
	if (File.Exists(pathToFile)) {
		byte[] fileData = File.ReadAllBytes(pathToFile);
		texture = new Texture2D(2, 2);
		texture.LoadImage(fileData);
	}
	return texture;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы