Avatar billede everclear Praktikant
09. november 2006 - 11:01 Der er 8 kommentarer og
1 løsning

Sæt opacity på billede

Jeg sidder og roder med noget kode og har brug for programmatisk at sætte opacity på et billede. Hvordan gør jeg dette? Kan det overhovedet lade sig gøre i C#?
Avatar billede snepnet Nybegynder
09. november 2006 - 11:28 #1
Du kan style dig frem til det:
http://www.codeproject.com/jscript/opacity.asp
Og styles kan du uden problemer proppe på fra din c# kode.
Mvh
Avatar billede everclear Praktikant
09. november 2006 - 12:06 #2
Ja da:-) Men jeg vil meget gerne kunne sætte min opacity uden at skulle have 5 forskellige CSS-classes. Ville gerne kunne lave noget med en slider hvor opacity'en bliver bestemt ud fra slideren position.
Avatar billede snepnet Nybegynder
10. november 2006 - 07:40 #3
Hmm... Umiddelbart lyder det mere som noget der skal fungere på klienten - og dermed skrives i javascript.
Jeg har et eksempel et sted. Jeg skal prøve at finde det frem.
Mvh
Avatar billede snepnet Nybegynder
10. november 2006 - 07:47 #4
Ellers ... Du kunne også kigge lidt på asp.net ajax. Der findes en opacitybehavoir den kan den slags.
Mvh
Avatar billede snepnet Nybegynder
12. november 2006 - 12:53 #5
Er du her stadig everclear?
Mvh
Avatar billede everclear Praktikant
13. november 2006 - 09:15 #6
Har lige været uden internet et par dage:-) Jeg har været ved at rode lidt med en løsning, der tager hvert enkelt pixel i billedet, henter farven på denne og så sætter en ny opacity på; men det er jo ikke just en optimal løsning ved større billeder. Har også kigget lidt på AJAX.NET; men synes ikke rigtigt, jeg kan finde noget med Opacity Behavior?

Overvejer sgu lidt at lave det i Flash efterhånden:-)
Avatar billede snepnet Nybegynder
15. november 2006 - 00:34 #7
http://forums.asp.net/thread/1378691.aspx

Og ellers kan du gafle en mere manuel model fra toolkit'et (nedenstående er hapset derfra):

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script language="javascript" type="text/javascript">
    function pageLoad()
    {       
        setOpacity($get("Image1"), 0.5);
    }
   
    function setOpacity(element, value)
    {
        if (element.filters) {
            var filters = element.filters;
            var createFilter = true;
            if (filters.length !== 0) {
                var alphaFilter = filters['DXImageTransform.Microsoft.Alpha'];
                if (alphaFilter) {
                    createFilter = false;
                    alphaFilter.opacity = value * 100;
                }
            }
            if (createFilter) {
                element.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (value * 100) + ')';
            }
        }
        else {
            element.style.opacity = value;
        }   
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="manager" runat="server">

    </asp:ScriptManager>
        <asp:Image ID="Image1" runat="server" ImageUrl="~/Images/StrangeFish.jpg" />
    </form>
</body>
</html>

Den sætter så opacity til 50% ved load - men du kan jo kalde metoden der gør det med det du vil.

Mvh
Avatar billede everclear Praktikant
15. november 2006 - 08:55 #8
Det er nok den smarteste måde at gøre det på ja:-)

Smid lige et svar, så er der point.....og tak...
Avatar billede snepnet Nybegynder
15. november 2006 - 11:48 #9
Kommer her.
Mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester