Я использую WPF, и моя программа содержит изображения в файле ресурсов DLL. У меня есть этот хорошо работающий способ чтения изображений с диска:
Private Function GetImageFromFile(ByVal fileName As String) As BitmapImage
Dim buffer As Byte() = IO.File.ReadAllBytes(fileName)
Dim memoryStream As New IO.MemoryStream(buffer)
Dim bitmap As New BitmapImage()
bitmap.BeginInit()
bitmap.StreamSource = memoryStream
bitmap.EndInit()
bitmap.Freeze()
Return bitmap
End Function
Теперь, как я могу получить изображения в этом MemoryStream-пути из ресурса DLL?
Основная проблема: если я просто использую способ «bitmap.UriSource = what uri» и загружаю много изображений последовательно, например, анимацию, это накапливает память. Я попытался с вышеупомянутым способом потока памяти, и это работало прекрасно, но затем я храню свои изображения в DLL, и я не знаю, как сделать этот трюк. Если кто-нибудь знает, как читать много изображений из управляемой библиотеки DLL, не наращивая память, пожалуйста, дайте мне знать.