Gå til innhold

Anbefalte innlegg

Er det mulig? Har laget en skjermsparer, og det er jo bare en fullscreen form som tegnes på med onpaint og slikt. Og så kom jeg til å tenke på at det hadde jo vært litt artig om bakgrunnen på formen var gjennomsiktig slik at jeg tegnet på windows :p Er det mulig? Eller må man ta et screenshot eller noe da og bruke det som bakgrunn? I så fall, hvordan kan man ta et screenshot i C#? Og uten å få med seg selv?

Lenke til kommentar
Videoannonse
Annonse

Kult. Nei, selve formen skal ikke fade, så opacity fungerer greit til det. Men nytt problem :p

 

Alt blir jo transparent da. På formen bruker jeg OnPaint og OnPaintBackground til å henholdsvis male noe tekst og male et bilde. Og denne teksten og dette bildet blir jo også gjennomsiktig. Hvordan kan jeg forhindre det?

Lenke til kommentar

Vel, man skulle tro at man kunne bruke SetStyle(SupportsTransparentBackcolor, true) til dette, men akk.

Man skulle også tro det funket med WS_EX_TRANSPARENT, men det funker heller ikke.

Så da sitter vi igjen med: Jeg aner ikke :p

 

Eneste jeg vet fungerer er transparencykey, men den fungerer bare på én farge.

 

Jeg tipper at hvis transparent bakgrund skal fungere, så må nødvendigvis formen double buffres (ellers ville man fort støtt på tekniske problemer)

Lenke til kommentar
  • 2 uker senere...
Er det mulig? Har laget en skjermsparer, og det er jo bare en fullscreen form som tegnes på med onpaint og slikt. Og så kom jeg til å tenke på at det hadde jo vært litt artig om bakgrunnen på formen var gjennomsiktig slik at jeg tegnet på windows :p Er det mulig? Eller må man ta et screenshot eller noe da og bruke det som bakgrunn? I så fall, hvordan kan man ta et screenshot i C#? Og uten å få med seg selv?

9272137[/snapback]

 

Hva om du kopierer skjermbildet før Formen blir vist? Bruk load-eventen til det. Så kan du vise skjermbildet etterpå, modifisert slik som du lyster...

Lenke til kommentar

fikk til :D

 

men da fant jeg et par ting til jeg lurte på om er mulig, og det er...

 

1. Skjermspareren er jo fullscreen. Muligheter for å ta screenshot av noe som er bak seg selv liksom? Sånn, mens man kjører og er der?

 

2. Hvordan kan jeg tegne et bilde transparent? bruker e.Graphics.DrawImage etc, men der er det bare muligheter for skalering osv, så vidt jeg kan se. ikke noe alpha... når man tegner er det jo bare å angi en farge som Color.FromArgb og angi alpha liksom, men fant liksom ikke noe tilsvarende enkelt for image eller bitmap... noen som vet?

Lenke til kommentar
fikk til :D

 

men da fant jeg et par ting til jeg lurte på om er mulig, og det er...

 

1. Skjermspareren er jo fullscreen. Muligheter for å ta screenshot av noe som er bak seg selv liksom? Sånn, mens man kjører og er der?

 

2. Hvordan kan jeg tegne et bilde transparent? bruker e.Graphics.DrawImage etc, men der er det bare muligheter for skalering osv, så vidt jeg kan se. ikke noe alpha... når man tegner er det jo bare å angi en farge som Color.FromArgb og angi alpha liksom, men fant liksom ikke noe tilsvarende enkelt for image eller bitmap... noen som vet?

9381014[/snapback]

 

1. sannsyligvis ikke. Men det er mulig du kan skjule formen noen millisekund, kopiere fra skjermen. og vise formen igjen. Det kommer litt an på hvordan Windows tegner vinduene.

 

2. Har lett en del etter lignende informasjon (gjennonmsiktig knapp) og endte opp med å lage en egen klasse som overrider picturbox. Tror jeg fant en artikkel på codeproject som konkluderte med at det ikke fungerte...

Endret av Mr Burns
Lenke til kommentar
  • 4 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...