Изображения, не отображающие строки (перекрывающиеся)

#vb.net #loops #graphics #concatenation #draw

Вопрос:

У нас проблема с нашим управлением WinForms.

Мы извлекаем список изображений (изображений пользователей) в каждом цикле и добавляем их в наш элемент управления списком. Он извлекает изображения с помощью класса с HttpClient, который считывает URL-адреса, считанные из базы данных в Form1 (с помощью метода Add ()), и отправляет их обратно, преобразовав в тип изображения, в качестве пары значений ключей.

 Dim imageData As Byte() = Await client.Value.GetByteArrayAsync(url).ConfigureAwait(False)
Return New KeyValuePair(Of Integer, Image)(pos, DirectCast(New ImageConverter().ConvertFrom(imageData), Image))
 

Теперь это отлично работает и отображает изображение в нашем listcontrol, но только для одного изображения. Оба изображения на самом деле есть (наша ключевая пара). Но больше 1 не отображается в поле зрения.

На форме 1 Мы заполняем список для нашего элемента управления listcontrol и его параметров.

 For Each row As DataRow In transferstable.Rows
ListControl1.Add(name, title, username, ResizeImage(avatar(count)), info, address, 0)
Next
 

Класс возвращает изображения и называется «аватар».

 ResizeImage(avatar(count))
 

Это не приведет к отображению 2 возвращенных изображений, они есть, как мы можем подсказать, в списке URL-адресов или видят, что это коллекция списков, похоже, рисунок перекрывается??
Находятся ли 2 изображения точно друг на друге?

введите описание изображения здесь

Они нарисованы в нашем классе listcontrolitem следующим образом

 Private Sub Paint_DrawButton(gfx As Graphics)
gfx.DrawImage(mAvatar, New RectangleF(70, 50, 17, 17))
 

Это GDI , который не доставляет ни одного изображения и допускает строку (например, html-шаблон)?
Я не знаю, как нарисовать это в виде строки и исключить любое перекрытие.

Как получилось, что это происходит?

Может быть, лучше просто отправить эти изображения в коробку с картинками (чтобы я мог также разместить их в конструкторе)?

Любая помощь будет признательна!

Редактировать

Было бы неплохо отправить пару значений ключа в ImageList1, что позволит нам просто прочитать это вместо отдельных звезд для контроля рейтинга (правая сторона элемента управления). Тоже непросто.

Star1.Image = ImageList1.Images(IIf(mStars >= 1, "full", "empty"))

введите описание изображения здесь

Комментарии:

1. «Они рисуют друг на друге» — ну, вы всегда рисуете их с помощью прямоугольника с одинаковыми координатами, но я не могу сказать, к чему относятся координаты. Почему бы вам временно не замедлить рисование, поставив задачу ожидания. Задержка(1000); в каждом вызове и видите?