Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.17;
Скачать: CL | DM;

Вниз

Маска   Найти похожие ветки 

 
savyhinst ©   (2008-07-12 21:36) [0]

Здраствуйте.
Подскажите, пожалуйста. Есть два рисунка в bmp; один - просто картинка, а другой - чёрон-белый и состоит в том, что каждый пиксел на фтором рисунке насыщеностью своего цвета показывает, насколько непрозрачно будет виден соответсвующий пиксел первого рисунка. Короче, фторой рисунок - это маска. Ну, и вот. Я делал так:

Canvas.CopyMode:=cmSrcCopy;
Canvas.Draw(x,y,mask);
Canvas.CopyMode:=cmSrcAnd;
Canvas.Draw(x,y,bitmap);

Но, что-то, не работает. Что делать??
Спасибо за внимание.


 
KilkennyCat ©   (2008-07-12 21:45) [1]

посмотреть вариант разложения на составляющие цветов R G B и вариант работы c HSB.
А не работает-то как? "Что-то" слишком мало объясняет, а чаще всего решение проблемы возникает при нормальном ее объяснение. Рисовать картинки и писать программу, чтоб увидеть как идет суммирование, мне, честно говоря, лень.


 
savyhinst ©   (2008-07-12 21:50) [2]

суть в том, что чёрное получается поверх основной картинки.


 
KilkennyCat ©   (2008-07-12 21:59) [3]

ну дык  поменять очередность, будет снизу.


 
Германн ©   (2008-07-13 00:52) [4]


> savyhinst ©   (12.07.08 21:50) [2]
>
> суть в том, что чёрное получается поверх основной картинки.
>
>

Да хоть "поверх", хоть "понизу" - одно и тоже будет. Учи булеву алгебру и теорию по RGB.


 
savyhinst ©   (2008-07-13 13:23) [5]


>  Учи булеву алгебру и теорию по RGB.

Я учил


 
Sick   (2008-07-13 16:43) [6]


> savyhinst ©

Ты хочешь сказать, что под первым рисунком должен просвечивать нулевой рисунок?


 
User   (2008-07-13 21:39) [7]

... у меня работает такой вариант:
 
bmp, Bgr: TBitmap;
...
DC:= Bgr.Canvas.Handle;
BitBlt(bmp.Canvas.Handle, 0, 0, x, y, DC, 0, 0, SRCAND);

где bmp - фон, Bgr - накладываемый рисунок. Метод наложения (SRCAND) можно поискать по Хелпу (или в windows.pas   { Ternary raster operations })



Страницы: 1 вся ветка

Текущий архив: 2008.08.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
2-1215761892
Костик
2008-07-11 11:38
2008.08.17
Помогите написать "Уведомлятель"


15-1214399860
VingtQuatrieme
2008-06-25 17:17
2008.08.17
Единый Государственный Экзамен - это наступление американской


15-1214901514
tesseract
2008-07-01 12:38
2008.08.17
а где флуд по этому вопросу :


2-1216052408
DeadOtmorozok
2008-07-14 20:20
2008.08.17
Помогите!!!


15-1214840729
@!!ex
2008-06-30 19:45
2008.08.17
У кого есть дельфи и SynEdit откомпилируйте, пожалуйста