Просто добавьте к превосходный ответ dowhilefor , если вы хотите загрузить необработанный файл .jpg
(или .png
), вы можете сделать это следующим образом:
using(var s = File.OpenRead(fileName))
{
Texture2D texture = Texture2D.FromStream(GraphicsDevice, s);
}
В отличие от , когда вы загружаете что-либо, используя ContentManager
, , в этом случае вы «владеете» этим.Это означает, что вы отвечаете за вызов Dispose()
для него в UnloadContent
.
Также в отличие от , когда вы проходите через конвейер содержимого (используя настройки по умолчанию), текстуру, которую вы загружаетене будет предварительно умноженного альфа.Вам необходимо применить предварительное умножение самостоятельно или отобразить его с помощью BlendState.NonPremultiplied
.
Конечно, если вы по какой-либо причине не можете этого сделать (например, загружаете изображения из Интернета или позволяетеконечный пользователь выбирает их), вы должны использовать конвейер контента .