Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
ВнизМаска Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.058 c