public void RemoveSenderList(Transporter Sender) { this.m_SenderList.Remove(Sender); }
public void AddSenderList(Transporter Sender) { this.m_SenderList.Add(Sender); }
/// <summary> /// transporterから呼ばれるが,自動的にすべてのUpdateImageがきたときのみ呼ばれる /// </summary> /// <param name="Sender"></param> public void UpdateImage(Transporter Sender) { if (m_SenderList == null) { return; } if (Sender != this.m_SenderList.Last()) { return; } if (this.m_WritableBitmap == null) { this.m_WritableBitmap = new WriteableBitmap(m_ProjectionImageMatrix.Width, m_ProjectionImageMatrix.Height, 96, 96, PixelFormats.Bgr24, null); this.Image_Main.Source = this.m_WritableBitmap; this.m_ProjectorWindow.Image_Project.Source = this.m_WritableBitmap; this.Grid_Image.Width = m_ProjectionImageMatrix.Width; this.Grid_Image.Height = m_ProjectionImageMatrix.Height; } foreach (var p in this.m_AdaptedImageProcesserList) { p.ImageProcess(ref this.m_ProjectionImageMatrix, ref this.m_ProjectionImageMatrix); } this.m_WritableBitmap.WritePixels(new Int32Rect(0, 0, m_ProjectionImageMatrix.Width, m_ProjectionImageMatrix.Height), m_ProjectionImageMatrix.Data, m_ProjectionImageMatrix.Width * m_ProjectionImageMatrix.Height * m_ProjectionImageMatrix.Type().Channels, m_ProjectionImageMatrix.Width * m_ProjectionImageMatrix.Type().Channels); this.m_ProjectionImageMatrix.Dispose(); #if USE_GC GC.Collect(); #endif }
public void InitImage(Transporter Sender, Mat mat) { if (m_SenderList == null) { return; } if (Sender != this.m_SenderList[0]) { return; } this.m_ProjectionImageMatrix = mat.Clone(); this.m_ProjectionImageMatrix.SetTo(black); }
private void Button_Create_Click(object sender, RoutedEventArgs e) { if (this.ListBox_ResourcePanels.SelectedIndex < 0) { return; } if (this.ListBox_ProjectionPanel.SelectedIndex < 0) { return; } var item = new Transporter( this.Dictionary_ResourceImage.ElementAt(this.ListBox_ResourcePanels.SelectedIndex).Value, Grid.GetColumn(this.Dictionary_ResourceImage.ElementAt(this.ListBox_ResourcePanels.SelectedIndex).Key), base.m_MainWindow.GetPanels<ProjectionPanel>()[this.ListBox_ProjectionPanel.SelectedIndex] ); this.List_Transporter.Add(item); TextBlock _item = new TextBlock(); _item.Text = item.ToString(); _item.Foreground = new SolidColorBrush(item.MainColor); this.ListBox_Transporters.Items.Add(_item); this.ListBox_Transporters.SelectedIndex = this.ListBox_Transporters.Items.Count - 1; }