Referência ao ficheiro src/interface/vapiGtkImageAux.c

#include <gtk/gtk.h>
#include "vapiAux.h"
#include "vapiImagesAux.h"
#include "vapiGtkInterface.h"
#include "vapiGtkAux.h"

Diagrama de dependências de inclusão para vapiGtkImageAux.c:

Ir para o código fonte deste ficheiro.

Funções

GdkPixbuf * vapiGtkPixbuf (GtkWidget *widget, IplImage *img, int rescale)
void vapiGtkPutImage (GtkWidget *Widget, IplImage *Image)
void vapiGtkPutImageNotScaled (GtkWidget *Widget, IplImage *Image)


Documentação das funções

GdkPixbuf* vapiGtkPixbuf ( GtkWidget *  widget,
IplImage *  img,
int  rescale 
)

Função que cria o buffer de imagem para mostrar no widget, verificando as condições:

Definido na linha 16 do ficheiro vapiGtkImageAux.c.

Referências v_error() e vapiImagesSameSize().

Referenciado por vapiGtkPutImage() e vapiGtkPutImageNotScaled().

00017 {
00018 
00019         GdkPixbuf *tempPixbuf;
00020         IplImage *tempImg;
00021 
00022         switch (img->nChannels)
00023         {
00024 
00025         case 1:
00026                 tempImg = vapiImagesSameSize (img, 3);
00027                 cvMerge (img, img, img, NULL, tempImg);
00028                 break;
00029 
00030         case 3:
00031                 tempImg = vapiImagesSameSize (img, 3);
00032                 cvConvertImage (img, tempImg, CV_CVTIMG_SWAP_RB);
00033                 break;
00034 
00035         default:
00036                 v_error (" Erro, numero invalido de canais: %d .",
00037                         img->nChannels);
00038                 return 0;
00039                 break;
00040         }
00041 
00042         tempPixbuf = gdk_pixbuf_new_from_data ((uchar *) tempImg->imageData,
00043                                                GDK_COLORSPACE_RGB,
00044                                                0,
00045                                                8,
00046                                                tempImg->width,
00047                                                tempImg->height,
00048                                                tempImg->widthStep,
00049                                                NULL, NULL);
00050 
00051         if (rescale > 0)
00052         {
00053                 tempPixbuf = gdk_pixbuf_scale_simple (tempPixbuf,
00054                                                       widget->allocation.
00055                                                       width,
00056                                                       widget->allocation.
00057                                                       height,
00058                                                       GDK_INTERP_BILINEAR);
00059         }
00060         else
00061         {
00062                 tempPixbuf = gdk_pixbuf_scale_simple (tempPixbuf,
00063                                                       img->width,
00064                                                       img->height,
00065                                                       GDK_INTERP_BILINEAR);
00066         }
00067 
00068         cvReleaseImage (&tempImg);
00069         return tempPixbuf;
00070 }

Grafo de chamadas desta função:

Here is the caller graph for this function:

void vapiGtkPutImage ( GtkWidget *  Widget,
IplImage *  Image 
)

carrega a imagem para o widget dado.

Definido na linha 77 do ficheiro vapiGtkImageAux.c.

Referências vapiGtkPixbuf().

Referenciado por interface_os_linux(), vapiGtkCbLoadStaticImage(), vapiGtkGetOriginal(), vapiGtkImagesFastUpdateIdle(), vapiGtkImagesUpdateIdle(), vapiGtkOperationApply(), vapiGtkSaveWorkImage(), vapiGtkSetOriginWindowTestSaveOrigin(), vapiGtkTemplateDrag(), vapiGtkWindowCalibrateCameraGetImages(), vapiGtkWindowOnFocusCalibrateCamera() e vapiRefreshOriginal().

00078 {
00079 
00080 
00081         GdkPixbuf *buf_imagem;
00082 
00083         buf_imagem = vapiGtkPixbuf (Widget, Image, 1);
00084 
00085         if (buf_imagem == 0)
00086         {
00087                 return;
00088         }
00089         gtk_image_set_from_pixbuf ((GtkImage *) Widget, buf_imagem);
00090 
00091 
00092         /*
00093          * Evitar warnings e crashes quando buf_imagem==NULL.
00094          */
00095         if (buf_imagem != NULL)
00096                 g_object_unref (buf_imagem);
00097 
00098 }

Grafo de chamadas desta função:

Here is the caller graph for this function:

void vapiGtkPutImageNotScaled ( GtkWidget *  Widget,
IplImage *  Image 
)

Definido na linha 101 do ficheiro vapiGtkImageAux.c.

Referências vapiGtkPixbuf().

Referenciado por vapiGtkSelectROIActual().

00102 {
00103 
00104 
00105         GdkPixbuf *buf_imagem;
00106 
00107         gtk_widget_set_size_request (Widget, Image->width, Image->height);
00108         buf_imagem = vapiGtkPixbuf (Widget, Image, 0);
00109 
00110         if (buf_imagem == 0)
00111         {
00112                 return;
00113         }
00114 
00115         gtk_image_set_from_pixbuf ((GtkImage *) Widget, buf_imagem);
00116 
00117 
00118         /*
00119          * Evitar warnings e crashes quando buf_imagem==NULL.
00120          */
00121         if (buf_imagem != NULL)
00122                 g_object_unref (buf_imagem);
00123 
00124 }

Grafo de chamadas desta função:

Here is the caller graph for this function:


Gerado em Tue Jul 24 10:35:49 2007 para Vapi por  doxygen 1.5.1