Android NinePatch изображения, как представляется, являются стандартными .png-файлами с дополнительной информацией. Есть ли спецификация для формата в любом месте, так как я хотел бы реализовать это на других платформах?Формат файла Android NinePatch .png?
ответ
This это самый простой ссылка я нашел на эту тему.
Просто взгляните на изображение 9 patch в средстве просмотра изображений. Это просто граница 1px с черными пикселями, фланкирующими растяжимые области и прозрачные маркировки статических частей.
Если вы увеличите в эту картинку вы можете увидеть черную граница маркировки растяжению площади:
example http://web6.twitpic.com/img/91916457-a53b6866db73378bda07c039151c69aa.4bd6119a-full.png
Я надеялся на документацию, но я думаю, это достаточно хорошо! – Roddy
Я не думаю, что необходима дополнительная документация, так как это обычный PNG с 1 пиксельной рамкой. – stealthcopter
Я не совсем понимаю, как интерпретируется 1-пиксельная граница, особенно с несмежными пиксельными выделениями, а также разница между верхним и нижним полями. – Roddy
Этой ссылка является очень полезной для девять патча изображения в андроиде.
Это очень полезный пример в Android. Используйте только PNG-файл .9 patch.
http://blogingtutorials.blogspot.com/2010/12/android-nine-patch-example.html
Я бы настоятельно сказал, что вы не реализуете систему 9patch на других платформах по нескольким причинам.
Я использую инструменты разработчика Android в течение года и широко использовал файлы 9patch.
Это кошмар. PNG не является форматом данных, это формат изображения. Смешивание двух в файле .9.png вызывает проблемы.
9patch-файлы - плохая идея, потому что они объединяют изображения и форматы данных в один файл, который не полностью управляется дизайнером или разработчиком.
Девять файлов патча: вы будете сожалеть о своей причастности в какой-то момент на этапе технического обслуживания, поддержки и обновления.
Возможно, если в будущем будущем поддержка 9patch-файлов добавляется к ряду инструментов качества (например, PS CS4 не понимает файлы 9patch как определенный формат и не соблюдает правила действительных девяти форматов патча .)
Существующие инструменты для девяти файлов патчей ужасны - по сути, непригодны для использования, по мнению большинства дизайнеров, которых я нанял.
+1 для прочного мнения - я бы согласился, что инструменты невелики. Однако, учитывая, что мне нужны 9-патч-функции «расширяемых» изображений, какая у меня альтернатива? Переосмыслить колесо можно было бы даже тупо. – Roddy
Я думаю, что концепция 9 патчей является примером действительно отличной идеи, реализованной в наихудшем возможном виде. Другим подходом было бы иметь PNG-файл (отраслевой стандарт) и формат XML, который включал бы 4 измерения. Stretch X, Stretch Y, Pad X и Pad Y. Затем используйте собственный парсер (XML вместо PNG), а затем манипулируйте PNG, чтобы растянуть его. Таким образом, ваш PNG по-прежнему можно использовать для других вещей (и работает в Photoshop), а ваш рынок макетов находится в XML, где программисты могут легко его использовать. –
Я совершенно не согласен с Кори здесь. Я использовал 9-патча PNG в Photoshop в течение 10 месяцев, и они работают как обаяние. на самом деле, мой интерфейс выглядит хрустящим с этой техникой, это здорово! –
Современные браузеры поддерживают CSS 9-путь фоны на основе: http://www.css3.info/preview/border-image/
хорошая ссылка, текст введения мотивирует 9 параметров; поэтому 9 patch - это явное определение 9 интересующих областей для размещения растрового изображения в координатах холста? – Vass
Взял меня некоторое время, чтобы понять, что расширение файла 9 патч должен быть xxxx.9 и не xxx.9.png
, в этом случае он просто игнорирует данные 9 патчей – MrJre
Я нашел эту ссылку очень полезной: link to blog post. Он использует несколько примеров для разных границ, определенных при создании 9 патчей. Он показывает, как дополнительная информация используется для масштабирования размеров изображений (x, y).
В конце есть замечательный комментарий Ричарда Л., в котором говорится, что вы можете добавить регионы для защиты от масштабирования изображения, включив перерывы в границах; например. а не масштабирование разделов на изображении.
Переход на принятый ответ, так как эта ссылка дает лучшую информацию о возможностях растягиваемых и дополняющих границ. – Roddy