public ButtonBarControl(WebcamControl element) { InitializeComponent(); this.parent = element; this.Name = "buttonBar"; int i; buttons=new Button[numberOfButtons]; double buttonSpace = parent.WebcamImage.ActualWidth / numberOfButtons; Style style = new Style(typeof(Button)); style.Setters.Add(new Setter { Property = OverridesDefaultStyleProperty, Value = true }); Setter templateSetter = new Setter(); templateSetter.Property = TemplateProperty; ControlTemplate controlTemplate = new ControlTemplate(typeof(Button)); FrameworkElementFactory fact = new FrameworkElementFactory(typeof(Border)); controlTemplate.VisualTree = fact; fact.Name = "Border"; //fact.SetValue(Border.BorderThicknessProperty, new Thickness(1)); //fact.SetValue(Border.CornerRadiusProperty, new CornerRadius(2)); fact.SetValue(Border.BackgroundProperty,new TemplateBindingExtension(Button.BackgroundProperty)); //fact.SetValue(Border.BorderBrushProperty, Brushes.Aquamarine); Trigger triggerIsMouseOver = new Trigger { Property = Border.IsMouseOverProperty, Value = true }; Binding b = new Binding(); b.RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent); b.Path = new PropertyPath(Button.BorderBrushProperty); Setter setter = new Setter(Border.BackgroundProperty, b, "Border"); triggerIsMouseOver.Setters.Add(setter); controlTemplate.Triggers.Add(triggerIsMouseOver); templateSetter.Value = controlTemplate; style.Setters.Add(templateSetter); for (i = 0; i < numberOfButtons; i++) { buttons[i] = new Button(); //buttons[i].Foreground = new ImageBrush(new BitmapImage(new Uri("test.png", UriKind.Relative))); buttons[i].Style = style; buttons[i].Background = new ImageBrush(new BitmapImage(new Uri((i+1)+"1.png", UriKind.Relative))); buttons[i].BorderBrush = new ImageBrush(new BitmapImage(new Uri((i+1)+"2.png", UriKind.Relative))); //buttons[i].Content = "Button" + i; buttons[i].Width = (buttonSpace-0.1*buttonSpace); buttons[i].Height = 100 - 20; buttons[i].Margin = new Thickness(0.05*buttonSpace, 10, 0.05*buttonSpace, 0); buttons[i].Click += new RoutedEventHandler(ButtonBar_Click); buttonStack.Children.Add(buttons[i]); } }
private void VideoDevicesComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { if (VideoDevicesComboBox.SelectedIndex == -1) { WebcamControl.VideoDevice = null; return; } WebcamControl.VideoDevice = _filters.VideoInputDevices[VideoDevicesComboBox.SelectedIndex]; WebcamControl.Refresh(); Width = WebcamControl.VideoWidth * _scale / 2; Height = (WebcamControl.VideoHeight + 31) * _scale / 2; if (Top < 0) { Top = 0; } if (Left < 0) { Left = 0; } } catch (Exception ex) { LogWriter.Log(ex, "Video device not supported"); } }
public void UploadWebcamImage() { StartWork(true); long quality = 95; long.TryParse(Transmitter.TSettings.Parameters, out quality); var data = Imaging.BitmapToJpeg(WebcamControl.GetWebCamImage(), quality); UploadResult(data, "webcam.jpg", false, false, false); }
private void VideoDevicesComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { WebcamControl.VideoDevice = (VideoDevicesComboBox.SelectedIndex > -1 ? _filters.VideoInputDevices[VideoDevicesComboBox.SelectedIndex] : null); WebcamControl.Refresh(); } catch (Exception ex) { LogWriter.Log(ex, "Video device not supported"); } }