From: The Android Open Source Project Date: Tue, 3 Mar 2009 06:54:33 +0000 (-0800) Subject: auto import from //depot/cupcake/@137055 X-Git-Url: https://git.saurik.com/android/aapt.git/commitdiff_plain/123209df149afbb7349c7ed8ef9d75a438d4ab20 auto import from //depot/cupcake/@137055 --- diff --git a/Images.cpp b/Images.cpp index 4c776fb..edb12ea 100644 --- a/Images.cpp +++ b/Images.cpp @@ -859,6 +859,14 @@ static void write_png(const char* imageName, analyze_image(imageName, imageInfo, grayscaleTolerance, rgbPalette, alphaPalette, &paletteEntries, &hasTransparency, &color_type, outRows); + + // If the image is a 9-patch, we need to preserve it as a ARGB file to make + // sure the pixels will not be pre-dithered/clamped until we decide they are + if (imageInfo.is9Patch && (color_type == PNG_COLOR_TYPE_RGB || + color_type == PNG_COLOR_TYPE_GRAY || color_type == PNG_COLOR_TYPE_PALETTE)) { + color_type = PNG_COLOR_TYPE_RGB_ALPHA; + } + switch (color_type) { case PNG_COLOR_TYPE_PALETTE: NOISY(printf("Image %s has %d colors%s, using PNG_COLOR_TYPE_PALETTE\n",