Hi, James,
    Thanks for your reply!
    I have put the picture on this website:
http://bbs.nju.edu.cn/file/P/prece/color.jpg
    I also swap the red color and blue color on the above image, but
the color is still not correct.

Best Regards,
Xu Dongxiao

2008/4/3, James Weatherall <[EMAIL PROTECTED]>:
> Dongxiao,
>
> I'm afraid that the VNC List strips attachments, so I don't know what the
> colour problem you're seeing is, but one common bug in X rendering code is
> to assume that if the display is depth 24 that pixels are in RGB format.
> Current Xvnc releases use BGR by default, which leads to red & blue being
> swapped if applications mistakenly assume RGB.
>
> Cheers,
>
> --
> Wez @ RealVNC Ltd
>
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of ???
> > Sent: 03 April 2008 09:45
> > To: vnc-list@realvnc.com
> > Subject: Help about SDL abnormal color display in VNC viewer.
> >
> > Hi, all,
> >     I wrote a very simple SDL drawing program under linux
> > (the code is in the first attachment), it just shows a color
> > (R=63, G=127, B=191) in a 320x240 panel. If I run the program
> > in X window, the color displays correct. But if I use VNC
> > viewer to connect the host and then run the program, the
> > color is abnormal, (see the second attached file, the left
> > part is the wrong displayed color, and the right part is the
> > correct color of R=63, G=127, B=191). Can someone help me
> > about this or is it a bug of VNC viewer?
> > Thanks very much!
> >
> > BTW: I am using VNC viewer free edition 4.1.1. Also I have
> > tried the latest version of VNC, this issue still exists.
> >
> > Best regards,
> > Xu Dongxiao
> > #include <stdio.h>
> > #include <stdlib.h>
> > #include <SDL.h>
> >
> > int main()
> > {
> >     uint8_t *bufp;
> >     int i;
> >     SDL_Surface *shared;
> >
> >     if ( SDL_Init(SDL_INIT_AUDIO|SDL_INIT_VIDEO) < 0 ) {
> >         fprintf(stderr, ".....SDL: %s\n", SDL_GetError());
> >         exit(1);
> >     }
> >     atexit(SDL_Quit);
> >     shared = SDL_SetVideoMode(320, 240, 24, SDL_SWSURFACE);
> >     if ( shared == NULL ) {
> >         fprintf(stderr, "Error to set video mode: %s\n",
> > SDL_GetError());
> >         exit(1);
> >     }
> >     if ( SDL_MUSTLOCK(shared) ) {
> >         if ( SDL_LockSurface(shared) < 0 ) {
> >             return;
> >         }
> >     }
> >
> >     bufp = (Uint8 *)shared->pixels;
> >     for (i=0; i<320*240; i++) {
> >         *(bufp+shared->format->Rshift/8+3*i) = 63;
> >         *(bufp+shared->format->Gshift/8+3*i) = 127;
> >         *(bufp+shared->format->Bshift/8+3*i) = 191;
> >     }
> >     if ( SDL_MUSTLOCK(shared) ) {
> >         SDL_UnlockSurface(shared);
> >     }
> >     SDL_UpdateRect(shared, 0, 0, 320, 240);
> >     while(1);
> > }
> >
> > [demime 1.01d removed an attachment of type image/jpeg which
> > had a name of color.jpg]
> > _______________________________________________
> > VNC-List mailing list
> > VNC-List@realvnc.com
> > To remove yourself from the list visit:
> > http://www.realvnc.com/mailman/listinfo/vnc-list
> >
>
>
_______________________________________________
VNC-List mailing list
VNC-List@realvnc.com
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list

Reply via email to