Práce s grafikou VIII. – Černobílý obraz z rozptylem
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Práce s grafikou VIII. – Černobílý obraz z rozptylemPráce s grafikou VIII. – Černobílý obraz z rozptylem

 

Práce s grafikou VIII. – Černobílý obraz z rozptylem

Google       Google       14. 12. 2005       7 045×

Kód funguje na principu náhoného posunu hranice pro každý bod ale v určitém rozmezí, a tím je daná drobná nepravidelnost obrázku...

Reklama
Reklama

Kód:


Public Sub BlackAndWhiteRozptyl(Img As PictureBox, mez As Byte, rozptyl As Byte)
    Img.DrawWidth = 1
    Img.ScaleMode = 3
    Img.AutoRedraw = True
    RGBMax = 256
    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
                                    r = (r + g + b) / 3
                                    If r >= mez + Int(Rnd * rozptyl) Then
                                    r = vbWhite
                                    Else: r = vbBlack
                                    End If
                Call SetPixel(Img.hdc, x, y, r)
            Next y
            DoEvents
        Next x
    Img.Refresh
End Sub

Funkčnost a princip celého algoritmu závisí na vzorci:


If r >= mez + Int(Rnd * rozptyl) Then

Jako hodnotu mez je dobré dát hodnotu kolem 100 a jako rozptyl hodnotu kolem 50. Pokud chcete měnit rozptyl, musíte mu upravit i mez většinou podle vzorce.


Mez = 128 - 0,5 * rozptyl

Drobné odchylky nevadí. Posouvat mez můžete, jak chcete pro ztmavení nebo zesvětlení výsledku. (čím vyšší hodnota, tím tmavší výsledek).

×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.

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 Seznamte se s open source platformou NopCommerce – 1. díl

Seznamte se s open source platformou NopCommerce – 1. díl

Hledáte e-commerce řešení, které si dokážete přizpůsobit podle vašich požadavků? Chcete čistý a srozumitelný kód, se kterým bude radost pracovat? Prozkoumejte s námi možnosti open source projektu NopCommerce. Seriál programování pod NopCommerce Vám pomůže překonat první kroky nejistoty a úspěšně zvládnout vývoj pod platformou NopCommerce.

Reklama
Reklama
Obrázek ke článku Facebook spouští službu Marketplace V ČR

Facebook spouští službu Marketplace V ČR

Společná platforma Marketplace usnadní lidem na Facebooku vyhledávání, nákup a prodej použitého zboží na lokální úrovni. Bude tak přímou konkurencí pro weby a aplikace se stejným zaměřením jako je například Letgo, Bazoš, Aukro, Sbazar a další.

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