⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callback.c

📁 unicap provides an uniform access to video capture devices. Currently you can access v4l, v4l2, IIDC
💻 C
字号:
#include <stdlib.h>#include <gtk/gtk.h>#include <unicap.h>#include <unicapgtk.h>/*  invert the first half of the image data */void predisplay_cb( GtkWidget *ugtk, unicap_data_buffer_t *buffer, gpointer user_data ){	int i;		for ( i = 0; i < buffer->buffer_size/2; i++ )		*( buffer->data + i ) = ~(*( buffer->data + i ));}int main( int   argc,          char *argv[] ){  GtkWidget *window;  GtkWidget *ugtk;    gtk_init (&argc, &argv);  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);    g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (exit), NULL);    ugtk = unicapgtk_video_display_new_by_device( NULL );    gtk_container_add (GTK_CONTAINER (window), ugtk);  gtk_widget_show_all (window);  // register a callback which is called immediately before an image is displayed  g_signal_connect( G_OBJECT( ugtk ), "unicapgtk_video_display_predisplay", 					G_CALLBACK( predisplay_cb ), NULL );  if( unicapgtk_video_display_start( UNICAPGTK_VIDEO_DISPLAY( ugtk ) ) == 0 )  {     GtkWidget *dialog = gtk_message_dialog_new( NULL, 						 GTK_DIALOG_MODAL, 						 GTK_MESSAGE_ERROR, 						 GTK_BUTTONS_CLOSE, 						 "Failed to start live display!\n" \						 "No device connected?" );     gtk_dialog_run( GTK_DIALOG( dialog ) );     exit(-1);  }    gtk_main();     return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -