private void onBitmap(IntPtr userData, int channel, string fileId, long timestamp, int currentFrame, int totalFrames, string titles, IntPtr image, int size) { if (userData == _userData && OnBitmap != null) { byte[] data = new byte[size]; Marshal.Copy(image, data, 0, size); using (MemoryStream ms = new MemoryStream(data)) { BitmapEventArgs args = new BitmapEventArgs() { Image = new Bitmap(ms), Timestamp = ToDateTimeFromEpoch(timestamp), Channel = channel, FileId = fileId, CurrentFrame = currentFrame, TotalFrames = totalFrames, Titles = titles }; OnBitmap(this, args); } } }
protected virtual void OnThresholdReached(BitmapEventArgs e) { EventHandler <BitmapEventArgs> handler = UpdateEvent; if (handler != null) { handler(this, e); } }
/// <summary> /// Event supported after creating anaglyph. /// </summary> /// <param name="sender"> sender </param> /// <param name="e"> anaglyph created event </param> public void EventImageFinished(object sender, BitmapEventArgs e) { Dispatcher.Invoke(delegate { this.SetImageOnForm(ImageVersion.ANAGLYPH_IMAGE, e.anaglyphImage); // set anaglyph image on form this.historyLabel.Content = TimerClock.GetTime().ToString() + " [ms]"; // set time measured on form e.anaglyphImage.Save("anaglyph.bmp"); // save anaglyph on project folder this.buttonGenerateAnaglyph.IsEnabled = true; }); }
private void GeneratorOnBitmapCreated(object sender, BitmapEventArgs args) { Application.Current.Dispatcher.Invoke( new Action( () => { try { var chr = args.Chr; var bmp = args.GeneratedBitmap; var font = args.CurrentFont; var fontName = font.FontFamily.Name; var fontSize = font.Size; var fontStyle = font.Style; var debugDir = "BmpDebug"; var chrEx = chr.ToString(); if (char.IsLetter(chr)) { chrEx = char.IsUpper(chr) ? $"^{chr}" : $"{chr}"; } var chrDir = Path.Combine(debugDir, chrEx); if (!Directory.Exists(chrDir)) { Directory.CreateDirectory(chrDir); while (!Directory.Exists(chrDir)) { ; } } var debugFileName = $"{fontName} {fontSize} {fontStyle}.png"; //bmp.Save(Path.Combine(chrDir, debugFileName), ImageFormat.Png); PreviewImage.Source = BitmapUtils.SourceFromBitmap(bmp); _genImageNumber++; bmp.Dispose(); CurrentFont = args.CurrentFont; } catch (Exception) { } })); }