The SetPixel function fails in specific x-coordinates if the Windows Aero is not running on a computer that is running Windows Vista
Consider the following scenario. You use an application on a computer that is running Windows Vista to call the SetPixel function. This function sets the pixel at the specified coordinates to the specified color.
In this scenario, the SetPixel function may fail in specific x-coordinates when the x-coordinates are in the following ranges:
256 to 511, 768 to 1023, 1280 to 1535 …
Therefore, the application may experience display issues.
For example, you use an application that calls the SetPixel function to draw a red horizontal line. The y-coordinate of the horizontal line is 300, and the range of the x-coordinate is from 0 to 768. In this scenario, the range of x-coordinate that is between 256 and 511 for the horizontal line is missing. Therefore, the horizontal line is divided into two parts and is not displayed correctly.
This issue occurs under one of the following conditions:
- The computer is running a Vista operating system that does not support the Windows Aero feature. For example, the computer is running Windows Vista Home Basic.
- The computer is running a Vista operating system that supports the Windows Aero feature . However, the feature is manually turned off. This feature may be manually turned off if you select a color scheme that does not support Windows Aero. For example, you select the Windows Vista Basic color scheme.
- The computer has a graphic adapter that does not support the Windows Aero feature.
- Windows Aero is the desktop experience that is available to computers that use a compatible graphics adapter and are running Windows Vista Home Premium, Windows Vista Business, Windows Vista Ultimate, or Windows Vista Enterprise.
- This issue does not occur on a Virtual PC that is running Windows Vista.
For more information on this issue, including potential causes, workarounds, and resolutions, see: Microsoft KB Article KB978545.