Здравствуйте, ekamaloff, Вы писали:
E>Здравствуйте, Аноним, Вы писали:
А>>Вообще-то я использую StretchDIBits, но и со StretchBlt таже проблема: они портят картинку.
А>>Не знаю от чего это может зависеть, вроде я ничего особенного не делаю.
А>>Я получаю массив байтов из внешнего компонента в формате RGBA и пытаюсь вывести картинку прямо на десктоп (для тестирования), но при сжатии в ней появляются точки с избытком красного вроде, т.е. много фиолетовых и малиновых точек, сама картинка правильная, и без сжатия той же функцией выводится нормально, а со сжатием такая фигня.
E>Попробуй SetStretchBltMode. Алгоритм сжатия/растяжения, установленный по умолчанию, работает криво.
Не криво, а он расчитан специально на черно-белые изображения, состоящие только из двух цветов.
Для нормального уменьшения цветных картинок почитай про HALFTONE
Вообще-то я использую StretchDIBits, но и со StretchBlt таже проблема: они портят картинку.
Не знаю от чего это может зависеть, вроде я ничего особенного не делаю.
Я получаю массив байтов из внешнего компонента в формате RGBA и пытаюсь вывести картинку прямо на десктоп (для тестирования), но при сжатии в ней появляются точки с избытком красного вроде, т.е. много фиолетовых и малиновых точек, сама картинка правильная, и без сжатия той же функцией выводится нормально, а со сжатием такая фигня.
Что это может быть?
Здравствуйте, Аноним, Вы писали:
А>Вообще-то я использую StretchDIBits, но и со StretchBlt таже проблема: они портят картинку.
А>Не знаю от чего это может зависеть, вроде я ничего особенного не делаю.
А>Я получаю массив байтов из внешнего компонента в формате RGBA и пытаюсь вывести картинку прямо на десктоп (для тестирования), но при сжатии в ней появляются точки с избытком красного вроде, т.е. много фиолетовых и малиновых точек, сама картинка правильная, и без сжатия той же функцией выводится нормально, а со сжатием такая фигня.
Попробуй
SetStretchBltMode. Алгоритм сжатия/растяжения, установленный по умолчанию, работает криво.
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Здравствуйте, ekamaloff, Вы писали:
E>Попробуй SetStretchBltMode. Алгоритм сжатия/растяжения, установленный по умолчанию, работает криво.
Спасибо, COLORONCOLOR помог.