Nano Hash - криптовалюты, майнинг, программирование

Сохранение графики холста html5 при изменении положения/размере

Я заметил, что когда вы перемещаете холст или изменяете его размер, все внутри стирается. Я помню, что у меня была аналогичная проблема в приложениях Windows Forms на С#. В любом случае, как лучше всего сохранить графику на холсте, даже после ее перемещения и т. д.? (используя javascript)

Я работал над краской, используя холст и веб-сокеты, вы можете увидеть мою проблему здесь: http://students.info.uaic.ro/~tudor.berechet/ (просто зайдите в Coboards, выберите инструмент «Кисть», щелкните несколько раз по холсту, а затем измените размер окна или увеличьте холст)

Еще одна вещь, которую я заметил, запуская сайт с моего жесткого диска, этой проблемы не возникает. что заставляет меня задаться вопросом, есть ли где-то какая-то странная ошибка.

Мне определенно нужен постоянный холст, потому что мне придется реализовать ручной инструмент, чтобы перемещать его...

Что скажешь?


  • хорошая идея :) Chrome работает нормально, а firefox выдает ошибку WebSocket is not defined [Break On This Error] this._connection = new WebSocket("w....203.207.144:8005"); //alert("asdf"); @line:95 02.02.2011
  • Спасибо. Firefox еще не поддерживает веб-сокеты, даже Firefox 4.x. Мне придется обнаруживать браузеры и все такое. Но вы столкнулись с проблемой, о которой я говорю, не так ли? 02.02.2011
  • Я использую Chrome 10.0648.11. Я вообще не умею рисовать на коборадах... 02.02.2011
  • @UVL, ты сначала нажал на кисть? 02.02.2011

Ответы:


1

Проблема, похоже, исчезла после небольшой очистки моего кода. Я до сих пор не знаю, что было причиной этого, но кажется, что рисунки на холсте теперь остаются нетронутыми даже после того, как я перемещаю/изменяю размер холста.

Пожалуйста подтвердите. [РЕДАКТИРОВАТЬ] подтверждено.

Дело в том, что мое первоначальное предположение о том, что графика на холсте непостоянна, похоже, было неверным. Скорее всего, была какая-то ошибка кодирования, которая «стирала» мой холст.

02.02.2011
  • Не могли бы вы предоставить более подробную информацию о том, как изменить размер холста? Я столкнулся с той же проблемой прямо сейчас, и в моем коде нет ничего особенного (canvas.width = newvalue; canvas.height = newvalue;). Новые значения должны быть больше старых, поэтому холст расширяется. К сожалению, после изменения размера он очищается до белого прямоугольника. Он протестирован с Chrome и Safari. 13.02.2012
  • Этот ответ неверен. У вопроса есть несколько дубликатов, например: stackoverflow .com/questions/5517783/ и stackoverflow.com/questions/3543358/. Согласно этим ответам, холст очищается при изменении размера, и его содержимое может быть сохранено только путем сохранения и восстановления рисунков с дополнительным кодированием. 13.02.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..