HIK Elektronikus Felsőoktatási Tankönyv- és Szakkönyvtár
A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő által közvetített digitális tartalmat a felhasználó a szerzői jogról szóló 1999. évi LXXVI. tv. 33. paragrafus (4) bekezdésében meghatározott oktatási, illetve tudományos kutatási célra használhatja fel. A felhasználó a digitális tartalmat képernyőn megjelenítheti, letöltheti, arról elektronikus adathordozóra vagy papíralapon másolatot készíthet, adatrögzítő rendszerében tárolhatja. A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő weblapján található digitális tartalmak üzletszerû felhasználása tilos, valamint kizárt a digitális tartalom módosítása és átdolgozása, illetve az ilyen módon keletkezett származékos anyag további felhasználása.

17.4.6. Alpha Blending

A GDI+-ban az alfa-csatorna (Alpha Channel) értékének változtatásával lehetővé válik, hogy különböző képek egymás előtt jelenjenek meg, így keltve olyan érzetet, mintha pl. egy objektumot ablaküvegen keresztül vagy víz alatt látnánk. Az átlátszóság mértékét a blending technikában az alfa értéke adja meg. Ez az érték általában 0 és 1 között van, és két kép keverésének arányát határozza meg. Ha egy kép minden pixeléhez rendeltek alfa-értéket, akkor beszélünk alfa-csatornáról.

Tekintsünk egy példát:

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)

{Graphics myGraphics= e.Graphics;

Bitmap myBitmap = new Bitmap("navaho.jpg");

System.Drawing.TextureBrush myBrush0 = new TextureBrush(myBitmap);

myGraphics.FillEllipse( myBrush0,50,50,300,150);

// nem látszik át

System.Drawing.SolidBrush myBrush1 = new SolidBrush(Color.FromArgb(255,0, 0, 255));

myGraphics.FillRectangle(myBrush1,10,50,100,100);

//félig látszik át

System.Drawing.SolidBrush myBrush2 = new SolidBrush(Color.FromArgb(128, 0, 0, 255));

myGraphics.FillRectangle(myBrush2,155,50,100,100);

//Szinte teljesen átlátszik

System.Drawing.SolidBrush myBrush3 = new SolidBrush(Color.FromArgb(32, 0, 0, 255));

myGraphics.FillRectangle(myBrush3,300,50,100,100);

}

Nem látszik át, félig látszik át, szinte teljesen átlátszik a kék négyzet