částečně transparentní obrázek - maska   otázka

VB.NET

Zdravím všichni,

dostal jsem se k zajímavému úkolu udělat grafický teploměr. Chtěl bych mít čmuchadlo na switche a servery v síti, jestli se nějakej nepeče. Jak načítat data, to není problém. Problém je v nečekané věci.

Teploměr vypadá tak, že jsou dva obrázky. Jeden je jen černý čtverec s červeným výřezem uvniř. Pod ním se posouvá druhý obrázek s nakreslenou stupnicí. Bohužel nedokážu ten vrchní obrázek - masku - donutit, aby mi ukázal to co je přímo "pod" ním. Transparentnost funguje, ale ukazuje mi co je na backgroundu parent formu a ne ve vrstvě pod maskou.

Našel jsem si pár tipů na webu a nakonec to dopadlo takhle:

        Dim f As Bitmap, b As Graphics

        f = Me.pbForeImage.Image 'picturebox vpředu
        b = Me.pbBackImage.CreateGraphics() 'picturebox vzadu
        f.MakeTransparent(Color.Red)
        b.DrawImage(f, 0, 0)

Bohužel pořád mi výřez ukazuje co je na backgroundu hlavního formuláře. Máte prosím někdo nějaký nápad?

pro správnou představu ... obrázek jak je to špatně:

http://nabbyss.rajce.idnes.cz/My_Picture...

Díky

Martin

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Průhlednost objektu je na rodiče - sám to píšete: "ale ukazuje mi co je na backgroundu parent formu". Chcete-li průhlednost na jiný objekt (např. na pcb2), musí být pcb2 rodičem objektu (např. pcb1) s vlastností transparent (pcb1.Parent = pcb2)

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback