2010-11-20 3 views
14

Я пробовал достаточно, чтобы найти в google & андроид этот вопрос. Также сделал несколько пробных ошибок &, но не смог получить этот вопрос. Я изучал образы «Рисовать девятку» Android. Один из основополагающих я знаю, что любое изображение, которое вы обрабатываете, должно быть в формате .png (если оно уже в .9.png, то оно будет проигнорировано инструментом). ОднакоAndroid Draw 9-patch tool: В чем смысл черных линий за пределами рисунка

  1. Я не мог понять, что это буквально означает «растяжимые заплатки»?
  2. Что именно происходит, когда вы рисуете черные точки вне изображения .png? (панель предварительного просмотра показывает изменения, но я не понимаю, как это делается)
  3. Когда я рисую черные точки в левой/верхней части изображения, он показывает некоторые изменения в предварительном просмотре; но почему нет эффекта, когда вы делаете то же самое на правой или нижней стороне изображения?
  4. Почему этот инструмент используется в основном для фона, когда мы пытаемся обработать на самом изображении?
  5. Я пытаюсь изменить простую кнопку button.png (данный в android sdk). Всякий раз, когда я использую этот инструмент & рисую черные линии, он уменьшает размер изображения, а не растягивает его! Зачем ?
  6. Каково значение приведенных ниже опций, например, «show lock», «show content», «Scatch scale» и т. Д.?

Прошу прощения за задание стольких вопросов, но в онлайновых документах Android они не очень хорошо объяснили для новичков. Если кто-то может ответить на эти вопросы, он станет готовой ссылкой для всех начинающих, которые ищут этот форум.

+1

+1 за вопрос, что "замок" о.Сначала мне это показалось немного запутанным, но в основном это просто способ редактора, позволяющий вам менять границы по 1 пикселю каждый, а не что-то еще. Поэтому вы можете показать его или скрыть, и это не имеет значения. – Wytze

ответ

26

С помощью растягиваемых патчей вы в основном указываете Android, какие строки и столбцы пикселей на изображении вы хотите повторить. Когда вы растягиваете стандартное изображение, есть две возможности: одна, пропорционально масштабируется, но все же теряет резкость из-за интерполяции; Во-вторых, он масштабируется непропорционально, и теряет не только его остроту, но и свою форму. Пример непропорционального масштабирования ниже:
stretched

Поэтому цель черных линий это сказать Android, какие области изображения безопасны повторить. Верхний угол определяет столбцы (столбцы), которые он может растягивать, а левый угол определяет строки (строки), которые могут растягиваться. Нижний и правый углы просто определяют фактическую область содержимого (например, когда кнопке разрешено размещать текст), вы можете зарезервировать дополнительное пространство для прокладки рамки. На изображении ниже вы можете видеть, что два черных пикселя на внешней стороне рамки определяют строки на изображении, а один сверху определяет столбец.


example

И ниже, это показывает результат 9-заплаты протянутой различных размеров. Если он увеличен, чтобы быть более широким, половинки изображения слева и справа от указанного растягиваемого столбца выравниваются влево и вправо от нового размера, а определенный столбец повторяется, чтобы заполнить пробел между ними. То же самое происходит с определенными строками; если вы используете кратность (я не верю, что вы можете использовать более двух строк/столбцов), он просто равномерно заполняет пространство их обоими; в этом случае я использовал его для равномерного разделения градиента по середине.

stretched images result

+0

привет спасибо за ваше объяснение; но все же я не понимаю, потому что, пытаясь нарисовать несколько 9 патч-образов, я не могу растянуть свою кнопку button.png в полной мере. Кроме того, у меня также есть несколько других вопросов. – iammilind

+0

Я действительно не знаю, что вы подразумеваете под вопросом. 4. Что касается 5, рисование черных линий вообще не изменяет размер вашего изображения. Подумайте, как ваше изображение будет абсолютным наименьшим размером того, за что вы его будете использовать. Он разработан, чтобы иметь возможность РАСШИРЕНИЯ любого размера без искажений. «Показывать содержимое» показывает, какова определенная область содержимого, например. где он может размещать контент внутри. «Show Lock» Я не знаком. «Scatch Scale» позволяет вам увидеть 9-патч, масштабированный до разных размеров. – kcoppock