Práce s grafikou X. – Desaturace
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Práce s grafikou X. – DesaturacePráce s grafikou X. – Desaturace

 

Práce s grafikou X. – Desaturace

Google       Google       26. 12. 2005       12 477×

Jednoduchý algoritmus na částečné odbarvení obrázku...

Desaturace neboli odbarvení, je efekt poměrně důležitý a obrázky jím ošetřené jsou velice hezké. Efekt je velmi jednoduchý, stačí tvořit průměr všech barevných složek RGB a jednu z nich, tu, která má být výsledná, přidáme vícekrát.


Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long

Public Sub Desaturace (Img As PictureBox, Value As Long)
Const RGBMax = 256

    Value = 16 - Value
    
    Img.DrawWidth = 1
    Img.ScaleMode = 3
    Img.AutoRedraw = True
    On Error Resume Next
        For x = 0 To Img.ScaleWidth
            For y = 0 To Img.ScaleHeight
                DoEvents
                Imgp = GetPixel(Img.hdc, x, y)
                b = Imgp  RGBMax  RGBMax
                g = (Imgp  RGBMax) Mod RGBMax
                r = Imgp Mod RGBMax
                
                r1 = (g + b + Value * r) / (Value + 2)
                g2 = (r + b + Value * g) / (Value + 2)
                b3 = (r + g + Value * b) / (Value + 2)
                
                Call SetPixel(Img.hdc, x, y, RGB(r1, g2, b3))
            Next y
            DoEvents
        Next x
    Img.Refresh
End Sub

Hodnota zadávaná do Value by měla být asi v rozmezí 0 – 15, jiné hodnoty můžou úplně změnit funkčnost algoritmu nebo výsledný efekt udělat velmi nepatrný. Čím vyšší je číslo, tím vyšší je i míra desaturace.

Mimo jiné, efekt není zrovna lineární, a tudíž rozdíl mezi čísly 14 a 15 je obrovský zatímco mezi čísly 1 a 2 je jen těžko rozeznatelný, takže je to na vaší matematice, jak se s tímto problémem dovedete vypřádat.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

2 názory  —  2 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Jiří ChytilAutor programuje ve VB, zajímá se o elektrotechniku, studuje na SOŠ Elektrotechnické - obor číslicová technika.
Web    

Nové články

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý