Я думаю, что отношение между User
и Room
является отношением «многие ко многим». Затем используйте :has_and_belongs_to_many
:
https://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association
[ 1112] Но если вы хотите установить соотношение между User
и Participant
как многие-ко-многим, используйте опцию :through
:
https://guides.rubyonrails.org/ association_basics.html # the-has-many-through-association
Я думаю, таблица Participant
не обязательна, просто временная переменная participants
выглядит нормально.
Один хороший подход должен использовать класс ImageAttributes для установки списка цветов для переотображения, когда рисунок происходит. Преимуществом этого является хорошая производительность, а также разрешение Вам изменить повторно отображающиеся цвета очень легко. Попробуйте что-то вроде этого код...
ImageAttributes attribs = new ImageAttributes();
List<ColorMap> colorMaps = new List<ColorMap>();
//
// Remap black top be transparent
ColorMap remap = new ColorMap();
remap.OldColor = Color.Black;
remap.NewColor = Color.Transparent;
colorMaps.Add(remap);
//
// ...add additional remapping entries here...
//
attribs.SetRemapTable(colorMaps.ToArray(), ColorAdjustType.Bitmap);
context.Graphics.DrawImage(image, imageRect, 0, 0,
imageRect.Width, imageRect.Height,
GraphicsUnit.Pixel, attribs);
Вы только знаете, что это - Изображение? Если это - Битовый массив, Вы могли бы назвать LockBits, проверить/устранить каждый пиксель и затем разблокировать биты снова.
Создайте Битовый массив из Изображения и затем назовите MakeTransparent () на том Битовом массиве. Это позволяет Вам указывать цвет, который должен быть представлен как прозрачный.