Opgelost Gradient afbeelding

Dit topic is als opgelost gemarkeerd

Bram65

Gebruiker
Lid geworden
25 feb 2023
Berichten
111
Beste, ik heb een zwart userform, 300 breed, met daarop labels in witte tekst.
Ik heb op internet wel code gevonden om heel het userform transparant te maken maar dat is niet de bedoeling.
Mijn bedoeling is om dat zwarte userform aan de rechterkant te laten uitfaden naar niets zodat de achtergrond steeds meer doorschijnt. Ik zou dat userform bv 50 breder kunnen maken en daar een picturebox van 50 plaatsen en die picturebox vullen met een Photoshopafbeelding. Die afbeelding zou dan een vertikale gradient van zwart naar niets kunnen zijn.

Ik weet niet of een Photoshopafbeelding werkt en het dus daadwerkelijk een fade out wordt.
Zo ja, omdat ik geen Photoshop heb, zou iemand dan zo'n afbeelding willen maken en posten?

Andere ideen zijn ook welkom.
 
Bedoel je iets als dit?
Userform.png

Het als Image gebruikte plaatje in de Userform:
 

Bijlagen

Laatst bewerkt:
Toch niet helemaal wat ik bedoel, het is geen zwart naar transparant maar van zwart naar wit.
Ik heb met Paint.Net, gratis te downloaden, een transparante afbeelding gemaakt met een gradient van zwart naar niets. Tijdens die gradient wordt de achtergrond steeds beter zichtbaar. Maar bij opslaan is dat een PNG bestand en dat kun je in een picturebox niet importeren.
Voorlopig doe ik het ermee maar oplossingen zijn welkom.
 
Maaak 'm dan zwart naar de standaard kleur van je Userform.
In Paint.Net kan je ook kiezen voor opslaan als BMP maar die ondersteund geen transparency.
 
Exact. En die transparantie is juist belangrijk omdat het userform waarvan de rand wordt verborgen, over een bewegend beeld wordt geplaatst. Het userform heeft idd een zwarte achtergrondkleur en heeft een picturebox met de gradient. Einddoel is een zwart vlak dat dmv een soort fade-out wegvloeit naar het bewegend beeld. Gaat middels VBA niet lukken denk ik omdat de picturebox en/of label geen PNG bestand accepteerd.
 
Top Jan-Karel, dat gaat die worden. Ik heb van dat shape in jouw voorbeeld de border/lijn weggehaald en nu is het perfect. Nu nog even uitvogelen hoe jij e.e.a. hebt gemaakt. Ik heb de tijd.
 

Bijlagen

  • Gradient.jpg
    Gradient.jpg
    11,6 KB · Weergaven: 4
@Jan-Karel. Jij hebt dit gemaakt in een sheet. Ik gebruik mijn Excel werkmap met twee monitoren. In het bovenste staat de Excel werkmap en in de onderste monitor wordt een trainingvideo afgespeeld. Het UserForm waar het hier over gaat wordt op de onderste monitor geplaatst, linksboven in de hoek. In dat UserForm staat data welke elke seconde wordt ververst. Zou dus mooi zijn wanneer dat Userform van zwart over zou lopen in het beeld van de video. Ik ben er dus nog niet uit.
 
Het idee is dat je die shape gebruikt in plaats van een userform. Is ook veel simpeler precies boven de cellen te plaatsen.
 
Oke, maar op de monitor waar dit shape moet komen, staat dus helemaal geen sheet oid. Op die onderste monitor wordt een video afgespeeld en er moet een soort van UserForm komen staan, met labels welke de data weergeven. Die labels worden elke seconde ververst.
Bijgevoegd een klein stukje van een scherm met deze informatie.
Zoiets zou ik graag willen maken
 

Bijlagen

  • Voorbeeld Gradient.jpg
    Voorbeeld Gradient.jpg
    41,9 KB · Weergaven: 10
Ik denk dat je het beter in de video zelf moet oplossen,
Je zult ook het userform transparant moeten maken.
Het liefst wil je dan jouw labels niet transparant, maar dat wordt hogere api-kunde

maar hierbij een bestandje met een transparant userform met foto gebaseerd op JKP's bestandje , wellicht komt het zo in de buurt
 

Bijlagen

Dank je @E v R, ik ga dit morgen bekijken, ben vanaf deze morgen al vroeg bezig en begin gaar te worden.
Ik laat het weten.
 
Ik heb na een lange fietstocht buiten, het workbook zojuist bekeken.
Maar ook hier is geen sprake van een transparantie maar wordt de gradient van zwart richting wit uitgevoerd. Een gradient heeft dus eigenlijk geen zin wanneer deze over een helder blauwe lucht wordt geplaatst. Overigens heb ik in het verleden een stukje code gevonden die de rand/kader/border van een UserForm verwijderd maar ook dat doet die code niet volledig. Er blijft een kleine rand zichtbaar die ik niet weg krijg. Die code zit in dit workbook.
 

Bijlagen

  • Gradient-2.jpg
    Gradient-2.jpg
    28 KB · Weergaven: 1
  • Book2.xlsb
    Book2.xlsb
    294,5 KB · Weergaven: 6
je kunt wel een plaatje op jouw userform zetten welke één "uitfade" kleur heeft, dus steeds meer pixcels van die kleur naar rechts.
Vervolgens maak je die kleur op het userform transparant,
In bijgaand bestandje een plaatje met een aantal steeds breder worden witte lijnen, welke (nu) na druk op knop transparant worden.
Userform is daarna niet meer te verplaatsen, de kwaliteit van het plaatje, even gemaakt in Excel en mbv paint is niet de beste. (vooral aan onderzijde is het wit blijkbaar niet echt wit en ik had geen zin om dat weg te poetsen.
Je hebt een goed PhotoShop-plaatje nodig met een hoop witte kleine vierkantjes om een mooi uitfadend plaatje te krijgen, maar ik denk dat er wel een beperking op de pixcel grootte zit in een Userform.
In bestandje dus ingesteld op wit naar transparant maar dit kan ook een andere kleur zijn.

Je kunt op deze manier ook bijvoorbeeld 'ronde' Userforms creëren, maar ja of dat nu noodzakelijk is...😊
 

Bijlagen

Laatst bewerkt:
Uiteindelijk heb ik het toch voor elkaar. Het volledig zwarte userform waarvan de border is verwijderd ziet er zo uit. Dus een kleine witte rand blijft helaas altijd zichtbaar.

alleen form.jpg

Nu heb ik met Paint.net een transparante gradient gemaakt plus zwarte stroken om die witte randen te verbergen. Dan ziet het zo uit en dat is wat ik wil. Mogelijk in het originele workbook nog wat finetunen.

form plus zwarte randen en gradient.jpg

Deze laatste drie PNG-afbeeldingen heb ik buiten VBA om op het scherm geplaatst.
Ik gebruik daar het freeware programma Frameless.exe voor. Die had ik vanuit een ver verleden nog liggen. Dit Frameless.exe heb ik ooit gebruikt in een Batch bestand om een foto slideshow op de TV te presenteren. Het laat dus afbeeldingen zien ZONDER rand.

Nu heb ik om die PNG bestanden te tonen een Batch file gemaakt welke door Shell wordt aangeroepen.
Dit omdat ik het in VBA niet voor elkaar krijg deze afbeeldingen op het scherm te tonen.
De regel in het Batch bestand, om de gradient op de monitor te plaatsen is de volgende:

start "" "C:\Users\Bramm\Documents\Fietstochten V3\Frameless.exe " "C:\Users\Bramm\Documents\Fietstochten V3\Afbeeldingen\Zwart Gradient.png" trans=alpha x=293 y=239 w=40 h=205 noresize=yes

Dit userform plus 3x PNG wordt eenmalig op het scherm gezet zodra de macro start, daarna worden de labels in het userform elke seconde ververst.

gr Bram
 
Mogelijk had dit alles ook met Powerpoint gedaan kunnen worden? Presentaties kan je van allerlei effecten voorzien, dus misschien ook dit.
 
Powerpoint heb ik ook niet en is niet freeware, Paint.net is dat wel.
Ik heb die vier witte randen plus een fade-out zowel rechts als onder het userform in één afbeelding kunnen maken. Doel is bereikt.
Bedankt voor ieders meedenken.
 
Terug
Bovenaan Onderaan