This may just be an artifact from the image you posted here, but are you sure you're saving your original image without any sort of compression/anti-aliasing-type of operations in your image editor? The border that is appearing could be a result of blending between the mask color and the actual image when you save the original image. The border is actually a different color than the original mask color, which is why it isn't being removed.
You might try turning off any sort of blending/anti-aliasing features in your image editor. This could also be an artifact from JPEG compression... I don't really know enough to say for sure, just a suggestion of something you might want to check in to.
It's a BMP, no artifacts. With PNGs, it's the same. The image editor is MSPaint, so you can't get rawer than that.
The bilinear filtering (anti-aliasing) is applied by OpenGL, and it's unavoidable... as it passes it blends
The border that is appearing could be a result of blending between the mask color and the actual image when you save the original image.
You're right on this one, but not because of the application, but because of the graphics card's way of doing the filtering (including Alpha in the anti-aliasing instead of using just RGB)
Laurent, with all due respect, the "expected behaviour"
sucks.
If you use a color key is because you want to
completly remove the color you're asking to remove.
It's the expected behaviour of a
Graphics card, not a 2D games library.
I
do want filtering (for zooming), but I
do not want an outline border.
I mean... in which real-life situation you would like a colorkey'd with that artifacts?
I know that the pixels get modified, but if you're really concerned in keeping those pixels as loaded, then you probably aren't color-keying anyway.
Thanks
-Martín