Растровый алгоритм заливки (если точка принадлежит контуру, то установить ее цвет равный такому-то) явно не подойдет. Штриховка является, если так можно выразиться векторной. Она состоит из отрезков. Нужно вычислять начало и конец отрезка. Ну у размется отслеживать разные там дырки. Эту задачу в принципе можно решить воспользовшишь алгоритмом удаления невидимых ребер. (Там для каждого ребра делается то ли 6 то ли 8 тестов). Задача состоит еще и в том, чтобы правильно обойти контур. У меня есть штриховка ("естественный грунт") так вот он штрихует область находящюся на теле на раастоянии, например 5 см, от контура.