Форум программистов, компьютерный форум, киберфорум
JavaScript: HTML5 Canvas
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 654
1

Canvas.toDataURL не видит фильтры?

08.08.2014, 17:03. Показов 1855. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
CSS
1
2
3
4
div {
            width:200px;
            background-color: green;
        }
Javascript
1
2
3
4
5
6
7
8
9
function downimg(){
            html2canvas($('#downimg'), {
                onrendered: function (canvas) {
                     var img = canvas.toDataURL('image/png').replace("image/png", "image/octet-stream");
 
                     window.location.href = img;                     
                }
            });
        }
HTML5
1
2
3
4
5
6
7
8
9
10
    <script type="text/javascript" src="html2canvas.js"></script>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<body>
    <div id="downimg">
        <div>
            some text  <img src="123.jpg"/>
        </div>
    </div>
    <a href="javascript:void(0)" onClick="downimg()" >SAVE</a>
</body>
Нашёл такой код. Всё нормально сохраняет. Но если я добавлю стиль -webkit-filter: contrast(2.5), то сохраняет изображение так, будто этого фильтра нет.
Хотя если написать
CSS
1
2
3
4
5
div {
            width:200px;
            background-color: green;
            opacity: 0.2;
        }
то сохраняет такое же прозрачное изображение как в браузере.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2014, 17:03
Ответы с готовыми решениями:

Canvas html5, как разместить черный пискель в центре canvas'a?
как разместить черный пискель в центре canvas'a?

VBA Excel автофильтр: вместо "фильтры по дате" предлагается "текстовые фильтры"
Доброго времени суток, уважаемые форумчане! Пожалуйста, подскажите решение следующей дилеммы: С...

Можно ли одной процедурой рисовать на Image.Canvas и Printer.Canvas
Здравствуйте, пожалуйста, подскажите можно ли одной процедурой рисовать на Image.Canvas и...

построить функцию y=kx+b (линейная функция) с помощью Vcart или canvas (form.canvas)
Надо построить функцию y=kx+b (линейная функция) с помощью Vcart или canvas (form.canvas)

3
Модератор
Эксперт JS
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
08.08.2014, 17:18 2
Firework, фильтры css на сам канвас не влияют. Они применяются только в момент отображения его самого в браузере.

Добавлено через 28 секунд
Цитата Сообщение от Firework Посмотреть сообщение
то сохраняет такое же прозрачное изображение как в браузере.
Странно. Сейчас протестирую.

Добавлено через 9 минут
Протестировал. Сохраняет изображение без фильтра в обоих случаях.
0
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 654
08.08.2014, 17:23  [ТС] 3
Цитата Сообщение от FraidZZ Посмотреть сообщение
Протестировал. Сохраняет изображение без фильтра в обоих случаях.
У меня всё же сохраняет с опасити.
А как можно тогда изменить яркость блока на странице и сохранить этот блок тогда?
0
Модератор
Эксперт JS
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
08.08.2014, 17:31 4
Firework, я как-то сразу не вчитался в тему. Обождите, пока пойму

Добавлено через 2 минуты
Firework, вот документация на html2canvas:
How it works

The script traverses through the DOM of the page it is loaded on. It gathers information on all the elements there, which it then uses to build a representation of the page. In other words, it does not actually take a screenshot of the page, but builds a representation of it based on the properties it reads from the DOM.
Вольный перевод выделенного:
скрипт на самом деле не снимает скриншот страницы, а строит её представление на основании данных, полученных из DOM.
Так что неподдерживание скриптом какого-либо свойства CSS - норма
И вопросы тут скорее к его автору.
1
08.08.2014, 17:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.08.2014, 17:31
Помогаю со студенческими работами здесь

Как добиться одинакового размера шрифта при выводе на Image.Canvas и Printer.Canvas
Здравствуйте! Подскажите, пожалуйста, как добиться одинакового размера шрифта при выводе на...

WD3200AAJB-00J3A0 то НЕ видит, то видит BIOS, USB-to-IDE/SATA видит всегда
День добрый. Есть HDD WD3200AAJB-00J3A0. Проблема в том, что его перестал видеть BIOS. Иногда...

BIOS видит HDD. Windows, Acronis не видит. Live UBUNTU видит
Нужно вытащить данные с неисправного жесткого диска. HDD 2.5&quot; Toshiba 160 Gb Sata. BIOS видит...

HDD-видит BIOS, видит диспетчер устройст, но не видит система
Ну что же, вечер добрый товарищи. Возникла такая проблема, описываю все по-порядку. -Купил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru