Как я могу установить холст HTML5 для автоматического изменения размера, когда содержимое внутри него выходит за пределы его полей? Я разрабатываю приложение генеалогического древа, и когда поколение становится шире, чем определенные пределы холста, линии, соединяющие узлы вместе, исчезают.HTML Canvas - автоматическое изменение размера при его содержании
ответ
С полотном нет автоматических функций. Это пассивное растровое изображение, которое вы можете использовать для рисования графики, поэтому все формы логики должны быть реализованы «вручную».
Для того, чтобы увеличить его, вам нужно будет отслеживать позиции и размеры всего, что нарисовано, поэтому вы можете рассчитать итоговую ограничительную рамку для текущей графики.
Если позиция + размер этого ограничивающего окна превышает размер холста, обновите размер холста с помощью этого (размер холста = ограничивающая рамка «позиция + размер»).
Однако при изменении размера холста все текущее содержимое, а также состояние (состояния) теряются, поэтому вам придется повторно визуализировать и повторно инициализировать содержимое, а также если он был в первый раз нарисован на нем. Это то, что вам нужно для планирования и включения в дизайн.
Опять же, это действительно зависит от того, как вы рисуете содержание, но вот пример того, как сделать это при рисовании изображения на холст ..
var canvas = document.getElementById('canvas'),
context = canvas.getContext('2d');
base_image = new Image();
base_image.src = 'someImaeg.png';
base_image.onload = function(){
document.getElementById('canvas').width = base_image.width;
document.getElementById('canvas').height = base_image.height;
context.drawImage(base_image, 0, 0);
}
- 1. Изменение размера холста HTML заготовки его содержимого
- 2. Автоматическое изменение размера узла
- 3. Автоматическое изменение размера NSView
- 4. Автоматическое изменение размера, изменение размера только при увеличении окна
- 5. Автоматическое изменение размера полей ввода в HTML
- 6. Автоматическое изменение размера div
- 7. Android - автоматическое изменение размера
- 8. Автоматическое изменение размера содержимого QDockWidget
- 9. Включить автоматическое изменение размера изображения
- 10. Автоматическое изменение размера столбцов при расширении позиций
- 11. Отключить автоматическое изменение размера в Phaser
- 12. Изменение размера HTML элементы
- 13. CollectionView Cell Автоматическое изменение размера
- 14. HTML canvas - рисунок исчезает при изменении размера
- 15. IOS - Автоматическое изменение размера CVPixelBufferRef
- 16. Автоматическое изменение размера текстового поля
- 17. Автоматическое изменение размера в Fancybox
- 18. Автоматическое изменение размера пользовательского UITableViewCell
- 19. Автоматическое изменение размера шрифта при изменении размера родительского элемента
- 20. Автоматическое изменение размера iFrame на основе изменения его высоты содержимого?
- 21. Автоматическое изменение размера столбцов datatable
- 22. jList отключить автоматическое изменение размера
- 23. Автоматическое изменение размера шрифта MathJax
- 24. Автоматическое изменение размера текстового поля
- 25. Автоматическое изменение размера встроенных видеороликов
- 26. Изменение размера <canvas> Элемент
- 27. Canvas - изменение размера изображения и сохранение переменной
- 28. Автоматическое изменение размера окна на основе его содержимого
- 29. Автоматическое масштабирование (изменение размера) изображения в iframe
- 30. Запретить изменение размера JButton при изменении размера его контейнера
Превосходные ответы касаются переразмера, подходящего для окна. –
показать код для того, как вы рисуете содержимое на холсте ,, –
он хочет изменить размер на основе содержимого, а не размером окна –