У меня есть некоторый код, который рисует мои собственные прямоугольные кнопки на основе исходного растрового изображения.
Большую часть времени кнопки назначения больше, чем мое исходное растровое изображение, и StretchBlt работает отлично. Однако, когда пункт назначения меньше исходного изображения, StretchBlt отказывается заполнять всю область назначения.
Я знаю, что StretchBlt не очень хорош по качеству, когда дело касается масштабирования изображений, но меня это не слишком беспокоит. Я просто не хочу отсутствующих пикселей.
Здесь ссылка с исходным изображением вверху и пунктом назначения внизу:
текст ссылки
Обратите внимание, я на самом деле сжимаю части исходного изображения в место назначения. Я не уменьшаю изображение целиком. Так, например, я копирую размер углов для размера с помощью BitBlt (), а затем растягиваю (сдавливаю) горизонтальные данные пикселей между углами из исходного изображения в целевой DC.
Нет ошибки в моих исходных и конечных координатах. Если я перейду с SRCCOPY на WHITENESS, вся область будет заполнена белым, как и следовало ожидать. Там нет серой полосы, где пиксели не скопированы, как вы видите на изображении Broken.bmp выше.
Кто-нибудь имел эту проблему раньше, и если да, может кто-нибудь предложить решение?
Приветствия