Здравствуйте! Помогите разобраться, вот, имею код:
string[] stringArraySplit = (getText[0].Split('s'));
Bitmap bitmap = PictureBox.Image as Bitmap;
for (int i = 0; i < PictureBox.Image.Width; i++)
{
for (int j = 0; j < PictureBox.Image.Height; j++)
{
bitmap.SetPixel(i, j, Color.stringArraySplit first to last);
PictureBox.Refresh();
}
}
В getText[0] имеется каша из пикселей ARGB такого формата
255,78,84,80s255,79,85,81s
где s - разделитель.
Далее, в stringArraySplit в каждый индекс записывается значение пикселя и мы имеем массив с пикселями, которые нужно отрисовать в битмапе.
Далее я указываю в каком порядке отрисовывать пиксели
for (int i = 0; i < PictureBox.Image.Width; i++)
{
for (int j = 0; j < PictureBox.Image.Height; j++)
{
А вот как мне подстроить под этот порядок пиксели из массива не могу понять, допустим:
bitmap.SetPixel(i, j, Color.Red);
Всё работает, пиксели заливаются красным, а как мне вместо красного подсунуть массив, с которого для i, j будут браться пиксели? Порядок отрисовки пикселей с нулевого индекса и до последнего.
Ну наверное как-то так:
string[] stringArraySplit = (getText[0].Split('s'));
var colors = stringArraySplit
.Select(s => s.Split(','))
.Select(v => Color.FromArgb(int.Parse(v[0]), int.Parse(v[1]),
int.Parse(v[2]), int.Parse(v[3])))
.ToList();
int colorIndex = 0;
for (int j = 0; j < PictureBox.Image.Height; j++)
{
for (int i = 0; i < PictureBox.Image.Width; i++)
{
bitmap.SetPixel(i, j, colors[colorIndex]);
colorIndex++;
}
}
(Я переставил циклы по i и по j местами, так как скорее всего ваши пиксели именно в таком порядке.)
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники