BGR to RGB function
authorAlexandre Pigolkine <pigolkine@mono-cvs.ximian.com>
Wed, 12 Nov 2003 21:41:30 +0000 (21:41 -0000)
committerAlexandre Pigolkine <pigolkine@mono-cvs.ximian.com>
Wed, 12 Nov 2003 21:41:30 +0000 (21:41 -0000)
svn path=/trunk/mcs/; revision=19920

mcs/class/System.Drawing/System.Drawing.Imaging/BitmapData.cs

index a08e082aa9aae31ace1e772a6d5cb802355cc583..c393a0d43c1210d6ab5dbf3ab8afe09dc4430175 100755 (executable)
@@ -78,5 +78,24 @@ namespace System.Drawing.Imaging
                                stride = value;\r
                        }\r
                }\r
+               \r
+               internal unsafe void swap_red_blue_bytes () \r
+               {\r
+                       byte *start = (byte *) (void *) this.Scan0;\r
+                       int stride = this.Stride;\r
+                       for (int line = 0; line < this.Height; line++){\r
+                               // Exchange red <=> blue bytes\r
+//                             fixed (byte *pbuf = start) {\r
+                                       byte* curByte = start;\r
+                                       for (int i = 0; i < this.Width; i++) {\r
+                                               byte t = *(curByte+2);\r
+                                               *(curByte+2) = *curByte;\r
+                                               *curByte = t;\r
+                                               curByte += 3;\r
+                                       }\r
+//                             }\r
+                               start += stride;\r
+                       }\r
+               }\r
        }\r
 }\r