Отговорът на въпрос номер 60783

Бекграунд, прозрачност, кожи | палитра |

Всички Zrastvuyte. Имаше проблем премахване на Red (както и синьо и зелено) от цветна система clBtnFace на (I трябва XPishny зехтин стил). Исках да го направите:
GetRValue (clBtnFace);
Но Delphi пише грешка, която clBtnFace извън обхват, тъй като разбрах, заради постоянното clSystemColor = $ FF000000 (обяснете: clBtnFace = TColor (clSystemColor или COLOR_BTNFACE)). След това той се опита да направи това директно, без функция GetRValue:
байт (clBtnFace);
Но след това му се не види, clSystemColor постоянно се игнорира получавате само COLOR_BTNFACE стойност (тази константа = 15). В непосредствена близост до изпробват един куп други начини, един и същ резултат = 15, въпреки че в Photoshop, разбрах, че червеният цвят clBtnFace трябва да бъде равна на 236.
Помощ, аз просто искам да направя един прозорец, на фона на която е полу-прозрачен образ, т.е.. сякаш poluprozr. (Около 20%) Rec. наслагва върху clBtnFace - така че всичко това е с едно докосване на стил, който сега се използва (в моя случай, зехтин) и красиво в хармония със себе си, той не е бил разпределен. За тази статия аз използвам Антон Григориев - "Прозорец с различна степен на прозрачност" и тук по време на dorabatyvaniya, наслагване алгоритъм филтър (има някои нюанси нерегистрирани), аз бях изправен пред проблема по-горе. Това, което аз съм се на адрес: Мога да разумно? ако знаете пътищата на смесване, фиг. и цвят, е по-лесно - тя също бърза pozhalusta.

Следвайте коментарите към този въпрос чрез RSS

Нов начин е по-бавно, защото тя не е предназначена за преобразуване на самото изображение, а целта му - полупрозрачни наслагване на снимките на всеки контекст, без предварително преобразуване. Ако го използвате по този начин, тя ще бъде по-бързо.

Просто от любопитство, измерено времето за изпълнение, двата метода на промените за прозрачност (вашата възраст, аз и новия си възстановен, с AlphaBlend). следните резултати:
Времето за обработка на едно изображение от:
Новият = 7,4454
стари = 6,9780

Времето за обработка го взел сто снимки:
нова = 824.7263 (средно 8,2472)
стари = 675.4805 (средно 6,7548)

Заключава курс за моя случай - не е смъртоносна, но ако трябва да се работи с голям брой CMV изображението, толкова по-изгодно по стария начин, разбира се.