2017-02-20 4 views
1

У меня проблема с моим полотном. У меня есть веб-страница, которая позволяет мне делать снимок с моей камерой, а затем отображать ее на холсте. Эта часть работает отлично, но я хочу, чтобы можно было очистить холст нажатием кнопки.Как очистить холст, содержащий изображение?

Я попробовал несколько способов сделать это, как вы можете видеть в this fiddle в функции ag_pub_clear_photo

Вот 3 способа я пытался: (ag_photo_picture это идентификатор моего холста

1) $('#ag_photo_picture').clear();

2) context.clearRect(0, 0, canvas.width, canvas.height);

3) var canvas = $('#ag_photo_picture')[0]; canvas.width = canvas.width;

Независимо от того, в какую сторону я пытаюсь, всегда кажется, что ничего не происходит, и я не понимаю, почему или что я делаю неправильно.

Я хотел бы уточнить, что на «очистке» холста я хочу, чтобы он был пустым/невидимым, как в начале, прежде чем прикасаться к любой кнопке.

Edit: Похоже, мой ясный функция вызывается при загрузке с листа, а не тогда, когда я нажимаю на кнопку

+1

Вы должны вызывать функция в событии клика, например, это '$ ('# ag_photo_clear_button'). on ('click', ag_pub_clear_photo);' здесь работает jsfiddle https://jsfiddle.net/azs06/2435eav9/4/ – azs06

+0

Возможный дубликат [How чтобы очистить прямоугольник от изображения в холсте] (http://stackoverflow.com/questions/31258273/how-to-clear-rectangle-on-image-in-canvas) –

+0

Хорошо, что я добавлял() в конец ag_p ub_clear_photo, которые не должны были быть здесь, спасибо, что он отлично работает сейчас :) – darzang

ответ

0

Благодаря azs06, вот ответ:

$('#ag_photo_clear_button').on('click',ag_pub_clear_photo); 
Смежные вопросы