Fixed 5 layer jpeg2000 decoding (alpha channel was moved from layer 5 to layer 4 in viewer 1.23 and newer).
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3302 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
@@ -336,15 +336,14 @@ namespace OpenMetaverse.Imaging
|
||||
Marshal.Copy((IntPtr)(marshalled.decoded.ToInt64() + (long)(n * 3)), managedImage.Alpha, 0, n);
|
||||
break;
|
||||
|
||||
case 5: // RGBBA
|
||||
case 5: // RGBAB
|
||||
managedImage = new ManagedImage(marshalled.width, marshalled.height,
|
||||
ManagedImage.ImageChannels.Color | ManagedImage.ImageChannels.Alpha | ManagedImage.ImageChannels.Bump);
|
||||
Marshal.Copy(marshalled.decoded, managedImage.Red, 0, n);
|
||||
Marshal.Copy((IntPtr)(marshalled.decoded.ToInt64() + (long)n), managedImage.Green, 0, n);
|
||||
Marshal.Copy((IntPtr)(marshalled.decoded.ToInt64() + (long)(n * 2)), managedImage.Blue, 0, n);
|
||||
// Bump comes before alpha in 5 channel encode
|
||||
Marshal.Copy((IntPtr)(marshalled.decoded.ToInt64() + (long)(n * 3)), managedImage.Bump, 0, n);
|
||||
Marshal.Copy((IntPtr)(marshalled.decoded.ToInt64() + (long)(n * 4)), managedImage.Alpha, 0, n);
|
||||
Marshal.Copy((IntPtr)(marshalled.decoded.ToInt64() + (long)(n * 3)), managedImage.Alpha, 0, n);
|
||||
Marshal.Copy((IntPtr)(marshalled.decoded.ToInt64() + (long)(n * 4)), managedImage.Bump, 0, n);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user