Мне нужно построить проект для рисования на холсте пальцами,
чтобы получить событие касания и событие движения моего пальца, а затем отрисовать.
Кто-нибудь может посоветовать мне, как начать работу над проектом,
и какой компонент лучше всего подходит для этого?
android
drawing
touch
android-canvas
Самир Х. Ибра
источник
источник
Ответы:
Начните с демонстрации Fingerpaint в образце sdk.
Другой образец:
Снимок
Пояснение:
Вы создаете класс представления, а затем расширяете View. Вы переопределяете onDraw (). Вы добавляете путь касания и движения пальца. Вы отменяете onTouch () для этой цели. В onDraw () вы рисуете пути, используя краску по вашему выбору. Вы должны вызвать invalidate (), чтобы обновить представление.
Чтобы выбрать параметры, вы можете щелкнуть меню и выбрать параметры.
Приведенное ниже можно использовать в качестве справки. Вы можете изменить приведенное ниже в соответствии с вашими потребностями.
Палитра цветов
источник
Canvas mCanvas
? потому что вы используетеonDraw(Canvas canvas)
Относительно красивого кода Рагхунандана выше.
Многие спрашивали, как «очистить» рисунок. Вот как это сделать:
Многие спрашивали, как «сохранить» рисунок. Вот как это сделать:
Надеюсь, это поможет кому-то, так как это помогло мне.
источник
clearDrawing
метод включен. Я получаю исключение из-за того, что высота и ширина должны быть> 0. Затем я посмотрел на код и увидел, что эти переменные не установлены. Поэтому я спросил вас, как получить значения ширины и высоты. PS надо звонить,invalidate()
если хотите обновить область рисования!Вы можете просто использовать этот класс:
источник
учебник по рисованию линии с использованием классов Bitmap, Canvas и Paint. рисование линии касанием пальца и androiddraw
здесь один простой класс для рисования линии с использованием холста, как показано ниже.
источник
Я думаю, что важно добавить кое-что, если вы используете инфляцию макета, что конструктор в drawview неверен, добавьте эти конструкторы в класс:
или система Android не может раздуть файл макета. Надеюсь, это поможет.
источник
В дополнение к ответу Ишана, если вы хотите рисовать программно без взаимодействия с пользователем, вы можете немного отредактировать класс.
А затем используйте это как
Чтобы рисовать программно
источник