Ответ 1
Это в основном бесполезно:
Основываясь на источнике Froyo, он используется при создании изображений с девятью патчами с ресурса, но не при создании регулярного растрового изображения:
852 private static Drawable drawableFromBitmap(Resources res, Bitmap bm, byte[] np,
853 Rect pad, String srcName) {
854
855 if (np != null) {
856 return new NinePatchDrawable(res, bm, np, pad, srcName);
857 }
858
859 return new BitmapDrawable(res, bm);
860 }
Вы попадаете туда, следуя графику:
createFromStream
возвращает:
return createFromResourceStream(null, null, is, srcName, null);
который, в свою очередь, использует:
return drawableFromBitmap(res, bm, np, pad, srcName);
(np происходит от Bitmap#getNinePatchChunk();
), и это вызывает:
return new NinePatchDrawable(res, bm, np, pad, srcName);
Наконец, вы попадаете в объявление NinePatch:
public class NinePatch
Создайте растягиваемую проекцию из растровое изображение до девяти патчей.
Параметры
bitmap Растровое изображение, описывающее патчи.
chunk Блок данных с 9 патчами, описывающий, как базовое растровое изображение разделяется и нарисовано.
srcName Имя источника для растрового изображения. Может быть null.