HALLO!!!
ich möchte zwei Bild überlagern und dafür eins der Bild transparent
machen.
1 | BitmapData bmData = localBitmap.LockBits(new Rectangle(0, 0, localBitmap.Width, localBitmap.Height), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
|
2 |
|
3 |
|
4 | int stride = bmData.Stride;
|
5 | System.IntPtr Scan0 = bmData.Scan0;
|
6 |
|
7 |
|
8 | unsafe
|
9 | {
|
10 | byte* p = (byte*)Scan0;
|
11 | int nOffset = stride-localBitmap.Width*4;
|
12 |
|
13 | for ( int u = 0; u< localBitmap.Height; u++)
|
14 | {
|
15 | for( int v= 0; v< localBitmap.Width; v++)
|
16 | {
|
17 | p[0] = 125;
|
18 | p[1] = 125;
|
19 | p[2] = 0;
|
20 | p[3] = 255;
|
21 |
|
22 |
|
23 |
|
24 | p+=4;
|
25 |
|
26 | }
|
27 |
|
28 | p+= nOffset;
|
29 | }
|
30 | }
|
31 |
|
32 | localBitmap.UnlockBits(bmData);
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 | return localBitmap;
|
39 |
|
40 |
|
41 | }
|
Welche von den p[0] = 125;
p[1] = 125;
p[2] = 0;
p[3] = 255;
ist denn jetzt der Alphakanal. Ich hätte gedacht p[3] = 255;
Aber das Bild wird nicht transparent. Kann mir jemand weiterhelfen.
Danke Gruss
Andre