Изображение WPF, Динамично изменяющее Источник изображения во время времени выполнения

Неустранимая ошибка: допустимый размер памяти из XXX байт исчерпан (пытался выделить XXX байты)

Недостаточно памяти для запуска вашего скрипта. PHP достиг предела памяти и перестает его выполнять. Эта ошибка является фатальной, сценарий останавливается. Значение предела памяти можно настроить либо в файле php.ini, либо с помощью ini_set('memory_limit', '128 M'); в скрипте (который перезапишет значение, определенное в php.ini). Цель ограничения памяти заключается в том, чтобы не допустить, чтобы один скрипт PHP собирал всю доступную память и приводил к остановке всего веб-сервера.

Первое, что нужно сделать, это свести к минимуму объем памяти, необходимый вашему сценарию , Например, если вы читаете большой файл в переменной или извлекаете много записей из базы данных и сохраняете их все в массиве, которые могут использовать много памяти. Измените свой код, чтобы вместо этого читать строки по строке или извлекать записи базы данных по одному, не сохраняя их все в памяти. Это требует немного концептуального понимания того, что происходит за кулисами, и когда данные хранятся в памяти и в других местах.

Если эта ошибка возникла, когда ваш сценарий не выполнял интенсивную работу с памятью, вы вам нужно проверить свой код, чтобы узнать, есть ли утечка памяти. Функция memory_get_usage является вашим другом.

Вопросы, относящиеся:

25
задан Mogsdad 17 August 2015 в 18:37
поделиться

4 ответа

Я могу думать о двух вещах:

Первый, попытайтесь загрузить изображение:

string strUri2 = String.Format(@"pack://application:,,,/MyAseemby;component/resources/main titles/{0}", CurrenSelection.TitleImage);
imgTitle.Source = new BitmapImage(new Uri(strUri2));

, Возможно, проблема с изменением размеров изображения WinForm, если изображение расширяется Фрагмент набора на управлении изображением к "Универсальной форме" или "UnfirofmToFill".

опция Second состоит в том, что, возможно, изображение не выровненное к пиксельной сетке, можно читать об этом на моем блоге в http://www.nbdtech.com/blog/archive/2008/11/20/blurred-images-in-wpf.aspx

26
ответ дан Nir 28 November 2019 в 20:58
поделиться

Попробуйте фрагмент = "UniformToFill" на изображении

2
ответ дан Jobi Joy 28 November 2019 в 20:58
поделиться

Эй, это некрасиво, но всего одна строчка:

imgTitle.Source = new BitmapImage(new Uri(@"pack://application:,,,/YourAssembly;component/your_image.png"));
10
ответ дан 28 November 2019 в 20:58
поделиться

Вот как это прекрасно сработало для меня. В ресурсах окна добавьте изображение.

   <Image x:Key="delImg" >
    <Image.Source>
     <BitmapImage UriSource="Images/delitem.gif"></BitmapImage>
    </Image.Source>
   </Image>

Затем код выглядит следующим образом.

Image img = new Image()

img.Source = ((Image)this.Resources["delImg"]).Source;

«this» относится к объекту Window

4
ответ дан 28 November 2019 в 20:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: