Teilweise durchsichtige bitmaps in c#



  • ich würde gerne wissen wie ich es fertigbringen könnte das ich z.b. ein bitmap habe das zwischendrinn (z.B. wenn das bitmap ein auto darstellt, das die fenster den hintergrund durchscheinen lassen) durchsichtig ist.

    ich mache das vorwiegend mit labels denen ich bilder zuweise nur habe ich halt das problem das die nie an wichtigen stellen durchsichtig sind.....



  • Wenn du mit C# ein Bitmap öffnest und dann mit der GetPixel(x,y) Methode ein Pixel geben lässt erhälst du ein objekt vom Typ Color zurück.
    Dieses Objekt hat einige interessante Eigneschaften: R,G,B (Stelt den RGB Wert dar) und ausserdem noch A (Alpha)
    Der Alpha Channel müsste die Deckung (Tranparenz) angeben (wenn mich nichts täuscht.
    Über die SetPixel Methode kannst du den Alpha wert auch verändern.

    Bitmap bild = new Bitmap("blubb.bmp");	
    Color pixelcolor = new Color();
    pixelcolor = bild.GetPixel(x,y);
    bild.SetPixel(x,y,Color.FromArgb(0,pixelcolor.R, pixelcolor.G, pixelcolor.B);							                     					 pixelcolor.B)););
    

    das alles im System.Drawing und es sollte nur die Transparenz ändern.

    mfg fabian



  • hmm.. das wird viel viel quelltext...

    aber danke dir



  • BTW: Tutorial über Alphablending: http://turing.fh-landshut.de/~jamann/Alphablending.html


Anmelden zum Antworten