private void _game_NewCameraImage(object sender, ImageEventArgs e) { _fps = ++_fps; if (_flags["cameraViewVisible"]) { this.Dispatcher.Invoke((Action)(() => { IntPtr hBitmap = e.Image.GetHbitmap(); try { var source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); this.imgCameraView.Source = source; } finally { e.Image.Dispose(); NativeMethods.DeleteObject(hBitmap); } })); } }
public void ShowImage(ImageEventArgs imageEventArgs) { imgCamera.Source = imageEventArgs.FrameReadyEventArgs.BitmapImage; //BitmapImage image = imageEventArgs.FrameReadyEventArgs.BitmapImage; //System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(image.PixelWidth, image.PixelHeight, System.Drawing.Imaging.PixelFormat.Format32bppPArgb); //System.Drawing.Imaging.BitmapData data = bmp.LockBits( //new System.Drawing.Rectangle(System.Drawing.Point.Empty, bmp.Size), System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format32bppPArgb); //image.CopyPixels(Int32Rect.Empty, data.Scan0, data.Height * data.Stride, data.Stride); bmp.UnlockBits(data); MemoryStream stream = new MemoryStream(); JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create((BitmapSource)imageEventArgs.FrameReadyEventArgs.BitmapImage)); encoder.Save(stream); System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(stream); stream.Close(); if (videoFileWriter.IsOpen) { videoFileWriter.WriteVideoFrame(bitmap); } }
/// <summary> /// Handles the ImageCommentsChanged event of the CommentController. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="ImageEventArgs"/> instance containing the event data.</param> /// <exception cref="NotImplementedException"></exception> private void CommentController_ImageCommentsChanged(object sender, ImageEventArgs e) { if (e.Image == ImageViewer.Image) { UpdateComments(); } }
void reportDocument_ImageProcessing(object sender, ImageEventArgs e) { if (_clinic.Logo != null) { e.Image.Source = ImageDataConverter.BytesToBitmapImage(_clinic.Logo); } }
void videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { log.Debug("videoSource_NewFrame: Received a frame from the File video source"); lock (InstanceImageDispose) { // log.Debug("videoSource_NewFrame: Considering disposal of previous Images"); if (InstanceGray != null) { // log.Debug("videoSource_NewFrame: Disposing of previous Gray frame"); InstanceGray.Dispose(); InstanceGray = null; } else { // log.Debug("videoSource_NewFrame: No InstanceGray exists, no need to Dispose of it"); } } log.Debug("videoSource_NewFrame: Converting to a new Gray"); // InstanceGray = new Image<Gray, byte>((Bitmap)eventArgs.Frame.Clone()); InstanceGray = new Image <Gray, byte>((Bitmap)eventArgs.Frame); log.Debug("videoSource_NewFrame: Finished converting to a new Gray"); // notify about the new frame log.Debug("videoSource_NewFrame: Built Raising NewFrame event"); ImageEventArgs imageEventArgs = new ImageEventArgs(InstanceGray); OnRaiseCustomEvent(imageEventArgs); log.Debug("videoSource_NewFrame: Event complete"); }
/// <summary> /// Adds cards to the current pair that will be checked if match /// </summary> /// <param name="args"></param> private void AddCardToPairs(ImageEventArgs args) { if (!upheldCards.Exists((x) => x.Position == args.Position) && upheldCards.Count != 2) { upheldCards.Add(args); } }
public void SaveImage(ImageEventArgs e) { ImageCodecInfo myImageCodecInfo; Encoder myEncoder; EncoderParameter myEncoderParameter; EncoderParameters myEncoderParameters; myImageCodecInfo = GetEncoderInfo(EncoderType); myEncoder = Encoder.Quality; myEncoderParameters = new EncoderParameters(1); myEncoderParameter = new EncoderParameter(myEncoder, imageQuality); myEncoderParameters.Param[0] = myEncoderParameter; try { string finalFile = System.IO.Path.Combine(e.FullSaveLocation, e.FullFileName) + "." + e.Extension; e.CapturedImage.Save(finalFile, myImageCodecInfo, myEncoderParameters); // e.CapturedImage.Save(finalFile); // e.CapturedImage.Save("c:\\users\\affan\\desktop\\jjajja.jpeg"); ShowToastForm(finalFile); //this.Invoke(new ShowToastFormInvoker(ShowToastForm), e.FullSaveLocation + ".jpg"); } catch(ArgumentException ex) { Console.WriteLine(ex.Message); } finally { myEncoderParameters.Dispose(); myEncoderParameter.Dispose(); } }
/// <summary> /// Eventhandler for updating the visual UI. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Output_UpdateVisualEvent(object sender, ImageEventArgs e) { BitmapSource MapImage = ConvertBitmapToBitmapImage(e.BitMapImage); MapImage.Freeze(); UpdateVisualImage(MapImage); }
private void WorkspaceViewerOnChangedImage(object sender, ImageEventArgs e) { if (e.Image != null) { _statusBar.Panels[0].Text = e.Image.ToString(); } }
public void SettExtTriggerData(ImageEventArgs imageData) //工具组实际运行(处理图像)时调用该函数获取实时图像 { isExtTrigger = true; DisposeHobject(ImageTestOut); ImageTestOut = imageData.CameraImage; StartTime = imageData.StartTime.D; //获取图像处理开始时的时间 }
void OnImageFingerprint(object source, ImageEventArgs ie) { rawImage = ie.RawImage; SetImage(ie.RawImage.Image); ExtractTemplate(); }
private void OnImage(string source, int width, int height, IntPtr rawImage, int res) { if (this.onImage != null) { ImageEventArgs ie = new ImageEventArgs(source, rawImage, width, height, res); this.onImage(source, ie); } }
public void OnMovedImage(ImageEventArgs e) { EventHandler <ImageEventArgs> handler = MovedImage; if (handler != null) { handler(this, e); } }
public void OnSavedAllImage(ImageEventArgs e) { EventHandler <ImageEventArgs> handler = SavedAllImage; if (handler != null) { handler(this, e); } }
public void BasicGrayUsageTest() { // Can be used for testing to make sure N-Unit is responding properly log.Debug("Hello World"); Bitmap b = new Bitmap(1280, 1024); Image <Gray, byte> gr = new Image <Gray, byte>(1280, 1024, new Gray(0.1D)); ImageEventArgs args = new ImageEventArgs(gr); }
public void OnBeforRemoveImage(ImageEventArgs e, ref bool checkremove) { FilmStripBeforRemoveImageEventHandler handler = BeforRemoveImage; if (handler != null) { handler(this, e, ref checkremove); } }
void onImageReady(object sender, ImageEventArgs e) { //Rectangle lockArea = new Rectangle(0, 0, bitmap.Width, bitmap.Height); //BitmapData bitmapData = bitmap.LockBits(lockArea, ImageLockMode.WriteOnly, PixelFormat.Format8bppIndexed); //byte[] rawImageData = imagedata; //System.Runtime.InteropServices.Marshal.Copy(rawImageData, 0, bitmapData.Scan0, e.image.Width * e.image.Height * 2 * e.image.BytesPerPixel); //bitmap.UnlockBits(bitmapData); //displayImages.Image = bitmap; }
private void OnImageViewRequested(object sender, ImageEventArgs e) { var view = new Image { Source = e.ImageSource, Stretch = Stretch.None }; DisplayContent(e.ImageName, view); }
private void onImageReady(object sender, ImageEventArgs args) { Image image = args.image; if (!_deviceHandles.ContainsKey((int)image.DeviceID)) { initializeDeviceHandles(); } _imageQueue.TryEnqueue(image); }
public void OnImageGetted(object sender, ImageEventArgs e) { Document document = new Document(); document.Id = Guid.NewGuid().ToString(); document.ByteImage = e.ByteImage; document.Path = e.Path; document.TripId = MainPage.CurrentTrip.Id; documents.Add(document); App.documentManager.AddItem(document); }
private void ProcessImage(Image full) { string filename = utilities.GetRandomFileName(); IMGARGS = new ImageEventArgs( full, CreateThumbnailImage(full, 100), mySettings.fileLocationSetting, mySettings.thumbnailLocationSetting, filename, filename + "_thumb", _imageFormat.Extension, DateTime.Now, mySettings.generateThumbNails); }
/// <summary> /// 当IO触发或(在线测试)相机连续触发采集到图像时,开始执行图像处理 /// </summary> public void TrigerRun(ImageEventArgs imageData, int waitTime, int settingIndex, bool isShowTimeOut) { this.settingIndex = settingIndex; //超时检测 bool isDelay = (!stopWatch.IsRunning || stopWatch.ElapsedMilliseconds > 150); if (isDelay) { stopWatch.Restart(); } //硬件触发模式不检测超时;在线检测模式检测是否超时(硬件触发isShowTimeOut= true直接跳过;在线检测为isShowTimeOut=false,判断时间间隔是否大于200ms,若大于200ms,则跳过执行下一步)。 if (isShowTimeOut == false && isDelay == false) { return; } if (imageRunFinishSignalFlow.WaitOne(waitTime)) { Result_Acceptable = true; startExTime = imageData.StartTime.D; //清理图像内存 if (this.ImageData != null) { this.ImageData.Dispose(); } this.ImageData = imageData; this.isOffLineMode = false; isExtTrigger = true; //只要调用该函数,包括测试模式时,也是按外触发来执行的。 threadRunSignal.Set(); } else { Result_Acceptable = false; imageData.Dispose(); if (isShowTimeOut) { string message = string.Format("工具组{0}图像处理超时发生,请检查程序运行节拍", settingIndex); Util.Notify(Level.Err, message); } else { //Thread.Sleep(50); } if (isOffLineMode == false) { if (!CommHandle.Instance.CommunicationParam.IsCamIOOutput) { autoUnit.RunCommWriteDataThread.WriteData("Image" + Environment.NewLine + "Done" + Environment.NewLine); Util.Notify(Level.Err, "超时已处理"); } } } }
/// <summary> /// A slide show image has been rendered. /// </summary> /// <param name="sender">The event sender.</param> /// <param name="e">An <see cref="ImageEventArgs"/> containing the rendered image.</param> private void SlideShow_ImageRendered(object sender, ImageEventArgs e) { lock (this.currentImageLock) { // IMPORTANT: Never store a reference to the e.Image object, always create a copy using (Graphics graphics = Graphics.FromImage(this.currentImage)) { graphics.DrawImageUnscaled(e.Image, 0, 0); } } this.Invalidate(); }
private async void Reader_ImageTapped(object sender, ImageEventArgs e) { var byteArray = Convert.FromBase64String(e.Base64); var stream = byteArray.AsBuffer().AsStream().AsRandomAccessStream(); using (stream) { var bitmap = new BitmapImage(); await bitmap.SetSourceAsync(stream); // do other thing } }
/// <summary> /// Adds an image to the collection /// </summary> /// <param name="newImage">Images to add to the collection.</param> /// <returns>The ID value of the added image. /// If the orginally supplied id value was negative then a new ID value is created.</returns> /// <exception cref="ArgumentException">System.SystemException.ArgumentException - /// if any of the image ids already exist in the collection</exception> public void AddImage(ImageDocument image) { var AddedImages = new Collection <ImageDocument>(); image.OrderInDocument = BindingSource.IndexOf(image) + 1; var ImgItm = new ImageListViewItem(image); if (Path.IsPathRooted(image.Description) && File.Exists(image.Description)) { ImgItm = new ImageListViewItem(image.Description); } else { ImgItm.FileName = image.GUid.ToString(); } ImgItm.Tag = image; ImgItm.Text = image.OrderInDocument.ToString(); ImgItm.ZOrder = image.OrderInDocument; var ti = BindingSource.IndexOf(image); if (ti > Items.Count) { } Items.Insert(BindingSource.IndexOf(image), ImgItm);//.Add(ImgItm); //if (image.Image != null) //{ // image.Image.Dispose(); //Added by rm 901018 // image.Image = null; //} if (null != AddedImage) { //var fImages = new Collection<BaseImage>(); //var oi = 0; //foreach (var iigg in AddedImages) //{ // fImages[oi] = iigg; // oi++; //} var e = new ImageEventArgs(AddedImages); AddedImage(this, e); } }
public void OnAddedImage(ImageEventArgs e) { EventHandler <ImageEventArgs> handler = AddedImage; if (handler != null) { handler(this, e); } if (this.Count == 1) { OnCurrentChanged(e); } }
private void OnImageCallback3Recive(object sender, ImageEventArgs e) { try { logger.Debug($"device: {m_SelectID} OnImageCallback3Recive"); System.Drawing.Imaging.PixelFormat format = System.Drawing.Imaging.PixelFormat.Format24bppRgb;// .Format32bppRgb; .Format4bppIndexed int bitsPerPixel = ((int)format & 0xff00) >> 8; int bytesPerPixel = (bitsPerPixel + 7) / 8; int stride = ((Convert.ToInt16(e.dwWidth) * bytesPerPixel + 3) / 4) * 4; using (Bitmap oBitmap = new Bitmap(Convert.ToInt32(e.dwWidth), Convert.ToInt32(System.Math.Abs(e.dwHeight)), stride, format, e.Buffer))//.Format32bppRgb { if (_h264Encoder == null) { OpenH264Lib.Encoder.OnEncodeCallback onEncode = (data, length, frameType) => { var keyFrame = (frameType == OpenH264Lib.Encoder.FrameType.IDR) || (frameType == OpenH264Lib.Encoder.FrameType.I); //writer.AddImage(data, keyFrame); if (ReceivedYUVFrame != null) { if (data == null) { logger.Warn($"onEncode get null data"); } try { ReceivedYUVFrame(m_SelectID, (uint)_stopwatch.ElapsedMilliseconds, data, keyFrame); } catch (Exception ex) { logger.Error(ex.ToString()); } } }; _h264Encoder = new OpenH264Lib.Encoder(@"lib\openh264-1.8.0-win32.dll"); _h264Encoder.Setup(640, 480, 5000000, 10, 2.0f, onEncode); } var resizedBitmap = Process(oBitmap, oBitmap.Width, oBitmap.Height, 640, 480); this.HasVideo = true; _h264Encoder.Encode(resizedBitmap, _stopwatch.ElapsedMilliseconds); } } catch (Exception ex) { this.HasVideo = false; logger.Error(ex.ToString()); } }
private void Controller_ImageAvailable(object sender, ImageEventArgs e) { image.Dispatcher.BeginInvoke((Action)(() => { DisplayFPS(); try { var FinalImage = ImageManipulation.Decorate(e.RawImage, sumoInformations); image.Source = FinalImage.ToWriteableBitmap(PixelFormats.Bgr24); } catch { } })); }
private void Move(ImageEventArgs args) { var moved = DirectoryHelper.HelperJob(HelperAction.Move, args.ImagePath, args.TargetPath); if (moved) { return; } var nameWithStamp = $"{DateTime.Now:yyyyMMddHHmmssffff}|" + $"{args.ImagePath?.GetFileName()}"; DirectoryHelper.HelperJob(HelperAction.Move, args.ImagePath, DirectoryHelper.TempDirectory, nameWithStamp.Replace("|", "")); }
/// <summary> /// 当软触发(外部通信)采集到图像时,开始执行处理图像 /// </summary> public void TriggerRun(ImageEventArgs imageData, int settingIndex, int waitTime) { if (this.ImageData != null) { this.ImageData.Dispose(); } this.imageData = imageData; isGrabber = true; this.settingIndex = settingIndex; this.cameraIndex = imageData.CameraIndex; if (imageRunFinishSignalFlow.WaitOne(waitTime)) { startExTime = imageData.StartTime.D; threadRunSignal.Set(); } }
protected virtual void OnRaiseCustomEvent(ImageEventArgs imageEventArgs) { // Each device calls this method when a new frame has been captured // Make a temporary copy of the event to avoid possibility of // a race condition if the last subscriber unsubscribes // immediately after the null check and before the event is raised. EventHandler <ImageEventArgs> handler = OnImage; FrameCounter++; // Event will be null if there are no subscribers if (OnImage != null) { OnImage(this, imageEventArgs); } }
void videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs) { log.Debug("videoSource_NewFrame: Received a frame from the File video source"); lock (InstanceImageDispose) { // log.Debug("videoSource_NewFrame: Considering disposal of previous Images"); if (InstanceGray != null) { // log.Debug("videoSource_NewFrame: Disposing of previous Gray frame"); InstanceGray.Dispose(); InstanceGray = null; } else { // log.Debug("videoSource_NewFrame: No InstanceGray exists, no need to Dispose of it"); } } log.Debug("videoSource_NewFrame: Converting to a new Gray"); // InstanceGray = new Image<Gray, byte>((Bitmap)eventArgs.Frame.Clone()); InstanceGray = new Image<Gray, byte>((Bitmap)eventArgs.Frame); log.Debug("videoSource_NewFrame: Finished converting to a new Gray"); // notify about the new frame log.Debug("videoSource_NewFrame: Built Raising NewFrame event"); ImageEventArgs imageEventArgs = new ImageEventArgs(InstanceGray); OnRaiseCustomEvent(imageEventArgs); log.Debug("videoSource_NewFrame: Event complete"); }
void fsc_OnImage( object sender, ImageEventArgs e ) { log.Debug( "fsc_OnImage: FileStream camera just sent me an image!" ); }
/// <summary> /// Event handler for imagecaptured. When the image is captured /// by SkimptImage, then it raises this event. /// </summary> /// <param name="e"> /// Has all the information about the Image captured by Skimpt /// </param> void output_ImageCaptured(object sender, ImageEventArgs e) { SaveImage(e); }
public virtual string Image(string href, string title, string text) { var args = new ImageEventArgs(href, href, text, title); OnImageParsed(args); var @out = "<img src=\"" + args.Src + "\" alt=\"" + args.Alt + "\""; if (!string.IsNullOrEmpty(args.Title)) { @out += " title=\"" + args.Title + "\""; } @out += Options.XHtml ? " />" : ">"; return @out; }
//This method raises the ImageCapturing event private void OnImageCapturing(ImageEventArgs IMGARGS) { ImageCapturing(this, IMGARGS); }
internal void OnImageChanged(ImageEventArgs e) { ImageChanged.RaiseEvent(this, e); }
private void ProcessImage(Image full) { string filename = utilities.GetRandomFileName(); IMGARGS = new ImageEventArgs( full, CreateThumbnailImage(full, 100), mySettings.fileLocationSetting, mySettings.thumbnailLocationSetting, filename, filename + "_thumb",_imageFormat.Extension, DateTime.Now, mySettings.generateThumbNails); }
/// <summary> /// Sends the captured image to the client. /// </summary> private void Capturer_OnImageCaptured(object sender, ImageEventArgs e) { byte[] img = ImageHandler.ImageHandler.ImageToBytes(e.Image); var msg = new RCS_Render_Job_Result(e.ConcernedRenderJobID, img, RemoteType.Agent); try { this.SendMessage(MessageCode.MC_Render_Job_Result, msg); } catch { } }
/// <summary> /// Raises the <see cref="ImageParsed" /> event. /// </summary> /// <param name="e"> The event data. </param> private void OnImageParsed(ImageEventArgs e) { ImageParsed?.Invoke(this, e); }