Вопрос: BitBlt + RasterOp Constants. Качество наложения.
Добавлено: 10.06.10 00:37
Автор вопроса: AWP | Web-сайт:xawp.narod.ru | ICQ: 345685652
Одна картинка накладывается на другую с использование (констант/фильтров/хз чего) vbSrcInvert, vbSrcAnd или vbMergePaint, но качество, как будто 8и битное...
Можно ли как-нибудь изменить качество наложений?
для наглядности прилагаю картинку: http://www.vbcode.h1.ru/images/123.jpg
Мне нужны логические операции с картинкой, пита vbSrcInvert, vbSrcAnd, vbMergePaint, я же в нулевом после написал.
Но функцией bitblt они работают с искажениями.
а blend это не только прозрачность, это все функции смешивания/наложения. Но AlphaBlend дает только один из них(точнее два, еще есть добавление, аналог vbSrcAnd).
Если бы bitblt работала с искажениями, это бы давно поправили. Тут чистая математика: "Combines the colors of the source and destination rectangles by using the Boolean XOR operator."
Я получил по сути то же http://imagebin.org/index.php?mode=image&id=100787
верхний рисунок p3 и нижний p4 одинаковые
AWP, ну если подумать над тем как работает XOR - 0+0=0 0+1=1 1+1=0, то картинка не выглядит такой уж странной.
у тебя кстати не xor, а and - 0*X=0 1*1=1. И еще я предполагаю, что можно было обойтись
...
pc1.PSet (X, Y), pc1.Point(X, Y) And pc2.Point(X, Y)
...
ну да...
Difference- Отображает тональную разницу между содержимым двух слоев, удаляя светлые пиксели из какого-либо из слоев. В результате получается темная и иногда перевернутая картинка.