Уже неделю не могу понять, в чем дело. Вот код:
и вывод:
Создаём массив объектов Bitmap и переменную, хранящую текущий индекс ячейки массива, в которую записали битмапу. В каждом выводе мы можем видеть цвет пикселя (55; 55) битмапы в ячейке с индексом 0 массива arr[].
Первый вывод: в arr[0] загружаем битмапу из файла и смотрим вывод. Работает отлично, смотрим дальше.
Второй вывод: переменную-счётчик увеличиваем на единицу, в arr[1] записываем новую битмапу, которая образуется из arr[0] (берём значение красного канала цвета пикселя и устанавливаем остальные каналы цветов этого пикселя значением красного), затем смотрим вывод цвета пикселя (55; 55) в arr[0] - он изменился. Хотя мы записали новую битмапу в arr[1] (проблема не в том, что мы передаём arr[0] в качестве параметра и в функции меняем пиксели - проверял). Причем, цвет пикселя становится таким, каким должен быть у новой битмапы, которую мы создали. Едем дальше.
Третий вывод: здесь в ячейку arr[1] создаем битмапу из файла. далее смотрим вывод - цвет пикселя (55; 55) в arr[0] не изменился…
Четвертый вывод: тут снова в arr[1] записываем битмапу, преобразованную из arr[1] и смотрим - в arr[0] без изменений.
Не могу понять, почему так происходит. Когда я записываю ячейку с индексом 1, перезаписывается ещё и ячейка с индексом 0. Остальные 13 ячеек не меняются. Битмапы создавались из разных файлов, разных расширений. Пробовал статические и динамические массивы, списки листы и словари - ничего не работает. Может я чего-то не вижу в упор или что