|
From: Jason H. <jas...@bt...> - 2001-11-05 00:39:30
|
The colour values are reversed because of the way Intel chose to represent numbers in memory. It uses Little Endian form (I think thats the right term) basicaly the bytes are stored in the reverse order than what you would expect. It makes sense in the fact the the smallest value will be at the lower address, but we are used to reading left to right so it seems wrong. Also there should be a macro for defining a COLORREF, which I think is RGB(r,g,b), or something along those lines. Look it up in the Win32 Reference, which you can download from: ftp://ftp.cs.virginia.edu/pub/lcc-win32/win32hlp.exe (a link I got of the Dev-C++ resource site). Also look up LineTo, MoveToEx, and other GDI (Graphics Device Interface) functions. Jason. ----- Original Message ----- From: "Christiaan Scholtz" <ck...@ia...> To: <dev...@li...> Sent: Sunday, November 04, 2001 10:46 AM Subject: Re: [Dev-C++] Drawing lines > Yes that works! > Heres my code to do it: > case WM_PAINT: > SetPixel(GetDC(hwnd),100,100,0x00FF0000); > SetPixel(GetDC(hwnd),101,100,0x00FF0000); > SetPixel(GetDC(hwnd),102,100,0x00FF0000); > SetPixel(GetDC(hwnd),103,100,0x00FF0000); > SetPixel(GetDC(hwnd),104,100,0x00FF0000); > break; > > Two things to note are that there are two extra 0's at the start of the > colour specifying the alpha value and that the colours are reversed. Instead > of specifying r,g,b they are blue, green, red (weird) in hex. > > -----Original Message----- > From: Kevin Wood <ke...@me...> > To: dev...@li... > <dev...@li...> > Date: Sunday, November 04, 2001 12:05 PM > Subject: Re: [Dev-C++] Drawing lines > > > >Hello everyone, > > > >I have copied the following from the Windows API help files. Does it help? > > > >----------------------------------------- > > > >The SetPixel function sets the pixel at the specified coordinates to the > >specified color. > > > >COLORREF SetPixel( > > > > HDC hdc, // handle of device context > > int X, // x-coordinate of pixel > > int Y, // y-coordinate of pixel > > COLORREF crColor // pixel color > > ); > > > > > >Parameters > > > >hdc > > > >Identifies the device context. > > > >X > > > >Specifies the x-coordinate, in logical units, of the point to be set. > > > >Y > > > >Specifies the y-coordinate, in logical units, of the point to be set. > > > >crColor > > > >Specifies the color to be used to paint the point. > > > >Return Values > > > >If the function succeeds, the return value is the RGB value that the > >function sets the pixel to. This value may differ from the color specified > >by crColor; that happens when an exact match for the specified color cannot > >be found. > >If the function fails, the return value is -1. To get extended error > >information, call GetLastError. > > > >Remarks > > > >The function fails if the pixel coordinates lie outside of the current > >clipping region. > >Not all devices support the SetPixel function. For more information, see > >GetDeviceCaps. > > > >--------------------------------------------------------------------------- > - > >------------- > > > >Regards, > > Kevin. > > > > > > > >----- Original Message ----- > >From: Christiaan Scholtz <ck...@ia...> > >To: <dev...@li...> > >Sent: Saturday, November 03, 2001 7:06 PM > >Subject: [Dev-C++] Drawing lines > > > > > > > >But how do the graphics libraries put a pixel on the screen? There has to > >be a way! I dont want to use a library > > > > > > > >_______________________________________________ > >Dev-cpp-users mailing list > >Dev...@li... > >https://lists.sourceforge.net/lists/listinfo/dev-cpp-users > > > _______________________________________________ > Dev-cpp-users mailing list > Dev...@li... > https://lists.sourceforge.net/lists/listinfo/dev-cpp-users |