Показать сообщение отдельно
  #2 (permalink)  
Старый Вчера, 16:38
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,609

Можно, но не нужно. Никто вас не поблагодарит.

Вариант 1(deprecated, не работает в strict mode):
with(c) {
  clearRect(0, 0, 1400, 150); 
  beginPath(); 
  moveTo(0, 0); 
  lineTo(100, 100); 
  stroke()
}


Вариант 2(без возможности присвоения, типа fillColor='#xxx', только c.fillColor='#xxx'):
function bindProxy(obj) {
  return new Proxy(obj, {
    get(target, key, r) {
      const value = Reflect.get(target, key, r);
      if (typeof value === 'function')
        return value.bind(target);
      return value;
    }
  })
}


const { clearRect, beginPath, moveTo, lineTo, stroke } = bindProxy(c);

clearRect(0, 0, 1400, 150); 
beginPath(); 
moveTo(0, 0); 
lineTo(100, 100); 
stroke()


Если очень хочется, то лучше воспользоваться вспомогательный библиотекой для рисования, коих мнжество на любой вкус. Плюсом будут всякие иные удобности.
__________________
29375, 35

Последний раз редактировалось Aetae, Вчера в 16:47.
Ответить с цитированием