use GetPreferredAlphaChannelFormat to figure out what to use for alpha when setting data
git-svn-id: svn://10.0.0.236/branches/IMGLIB2_20010126_BRANCH@87086 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -347,7 +347,7 @@ nsPNGDecoder::info_callback(png_structp png_ptr, png_infop info_ptr)
|
||||
format = nsIGFXFormat::RGB;
|
||||
} else if (channels > 3) {
|
||||
if (alpha_bits == 8) {
|
||||
format = nsIGFXFormat::RGB_A8;
|
||||
decoder->mImage->GetPreferredAlphaChannelFormat(&format);
|
||||
} else if (alpha_bits == 1) {
|
||||
format = nsIGFXFormat::RGB_A1;
|
||||
}
|
||||
@@ -484,6 +484,10 @@ nsPNGDecoder::row_callback(png_structp png_ptr, png_bytep new_row,
|
||||
decoder->mFrame->SetAlphaData(decoder->alphaLine, abpr, row_num*abpr);
|
||||
}
|
||||
break;
|
||||
case nsIGFXFormat::RGBA:
|
||||
case nsIGFXFormat::BGRA:
|
||||
decoder->mFrame->SetImageData(line, bpr, row_num*bpr);
|
||||
break;
|
||||
}
|
||||
|
||||
nsRect r(0, row_num, width, 1);
|
||||
|
||||
Reference in New Issue
Block a user