|
度々すみません。
正確には、return pData;の部分でエラーとなっていました。 エラーの際のpDataの数値を確認したところ、261120となっていました。
このエラーの原因がわかる方がいれば教えてください。
できれば、解決方法もご教授いただければ幸いです。
-------------------------- コード -------------------------- public byte[] ReadPixels(BinaryPSDReader reader, Compression compression) { int bytesPerPixelPerChannel = this._bitsPerPixel / 8; // psd.Header.Depth / 8; if (bytesPerPixelPerChannel < 1) bytesPerPixelPerChannel = 1;
int bytesPerRow = this._width * bytesPerPixelPerChannel; int totalBytes = bytesPerRow * this._height; byte[] pData = new byte[totalBytes];
switch (compression) { case Compression.None: reader.Read(pData, 0, totalBytes); break;
case Compression.Rle: for (int i = 0; i < this._height; i++) { int offset = i * this._width; int numDecodedBytes = 0; int numChunks = 0; while (numDecodedBytes < this._width) { numDecodedBytes += Endogine.Serialization.RleCodec.DecodeChunk(reader.BaseStream, pData, offset + numDecodedBytes); numChunks++; } } break;
case Compression.ZipNoPrediction: throw (new Exception("ZIP without prediction, no specification"));
case Compression.ZipPrediction: throw (new Exception("ZIP with prediction, no specification"));
default: throw (new Exception("Compression not defined: " + compression)); } return pData; ← 【この部分】 }
|