Подтвердить что ты не робот

Какой смысл FILL_AND_STROKE?

Я тестирую классы графики Android. Я хотел нарисовать несколько дуг/кругов с цветом заливки и черным контуром. Класс Paint имеет стиль FILL_AND_STROKE, но, похоже, не существует способа установить цвет заливки и цвет штриха. Итак, насколько я могу сказать это так же, как FILL?

Итак, какая точка FILL_AND_STROKE, если вы не можете установить отдельный цвет заливки и штриха? Мне не удалось найти хорошее объяснение.

(я решил свою простую задачу, выполнив сначала заполнение, затем инсульт)

Изменить: Я столкнулся с этим сообщением об ошибке: http://code.google.com/p/android/issues/detail?id=4086

Комментарий 4 и 5, похоже, подразумевает, что FILL_AND_STROKE в основном совпадает с FILL, и он будет "исправлен" в 2.2. Думаю, они добавят новый цвет?

4b9b3361

Ответ 1

afaik: FILL заполняет ваш круг, а FILL_AND_STROKE также рисует границу. Если вы увеличиваете размер штриха, это должно привести к разным размерам кругов (только визуально!)

Подумайте об этом: вы нарисуете круг вручную маленьким карандашом. Радиус - это то, что вы хотели. Если вы теперь возьмете большую кисть и снова нарисуете круг, ваш радиус будет намного больше... (я надеюсь, что его понятный O.o)

Ответ 2

Да, это немного глупо. Единственное, что нужно для этого - если вы хотите изменить только удар и заполненный круг, вы можете использовать FILL_AND_STROKE, чтобы сохранить размер круга одинаковым.

Если вы перешли от STROKE к FILL, вы потеряете ширину штриха, когда вы снова нарисуете круг.

Ответ 3

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

Возможность удлинить силуэт чего-то (более сложного, чем круг) наружу, может быть чрезвычайно полезна, хотя и не легко получается другими средствами

Ответ 4

См. комментарий @Shurane.

Просто нарисуйте его дважды, один заполненный, один штрих и каждый с одним цветом.

Работал отлично для меня и создавал впечатления от STROKE и FILL!