locked
ID2D1Bitmap::CopyFromMemory: Turning Off Antialiasing When Scaling Bitmap Up?

    Question

  • Hi! I have a scenario where I am routinely updating and rendering the contents of a bitmap (via CopyFromMemory() then a DrawBitmap()).  I'd like to minimize the amount of data transferred via CopyFromMemory() and rely on DrawBitmap() to scale up the image.  While this is currently working fine, I have noticed there is anti-aliasing applied.  I'd like to find the right way to disable this, as I'm angling for a crisp blocky/jaggy effect.

    So far, I've found that sending more pixel data attenuates the anti-aliasing effect--but this is coming at the cost of sending significantly more data that is mostly redundant.  I recall there is an API that turned on/off "per primitive aliasing", but this didn't seem to have an effect.  If this should work, then I can figure it out.  I'm really trying to avoid spending a lot of time researching a better solution that doesn't exist :)

    Thanks!

    Mike

    Saturday, September 22, 2012 3:50 PM

All replies

  • Heh, nothing like answering one's own question... :)  It looks like using the non-default D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR delivers the jaggies needed without sending any extra data.

    Mike

    Saturday, September 22, 2012 4:19 PM