Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.02.2017, 20:23
Интересующийся
Отправить личное сообщение для core Посмотреть профиль Найти все сообщения от core
 
Регистрация: 13.11.2012
Сообщений: 19

Вывести две img в одну img через canvas
Здравствуйте. Пытаюсь сделать объединение двох картинок в одну с выводом через .toDataURL в img, но в результате получаю пустой квадрат.
Помогите решить вопрос.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
 
<script type='text/javascript'>
 x = 500;
    y = 500;
 
    var canvas = document.getElementById('canvas1');
    
    /*if (! canvas || ! canvas.getContext) { return false; }*/
    canvas.width = x;
    canvas.height = y;
    var ctx = canvas.getContext('2d');
    var img1 = new Image();
    var img2 = new Image();
    img1.src = "http://www.justfitness4u.com/wp-content/uploads/2012/11/White-t-shirt.jpg";
    img2.src = "http://fordevillediaries.com/wp-content/uploads/2013/03/ear-of-corn.jpg";
    img1.onload = function() {
        ctx.drawImage(img1, 0, 0, x, y);
    }
    img2.onload = function() {
        ctx.drawImage(img2, 150, 100, 150, 120);
    }
var dataURL = canvas.toDataURL();
 console.log(dataURL);
 
 document.getElementById("canImg").innerHTML = "<img   src='"+canvas.toDataURL("image/png")+"' alt='from canvas'/>";
</script>
</head>
<body>
<canvas id="canvas1"></canvas> 	
<div id="canImg" style="border: 1px solid #000"></div>
</body>
</html>

Последний раз редактировалось core, 27.02.2017 в 21:35.
Ответить с цитированием
  #2 (permalink)  
Старый 28.02.2017, 00:09
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

core, нужно обернуть код такой функцией:
document.addEventListener('DOMContentLoaded', function() {
    // code
});
Ответить с цитированием
  #3 (permalink)  
Старый 28.02.2017, 10:15
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

Картинки с других доменов "портят" канву: toDataURL перестает работать.

Метод getImageData работает наполовину - я там внизу написал, какие варианты возможны.
Ответить с цитированием
  #4 (permalink)  
Старый 28.02.2017, 16:47
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Alexandroppolus, так то да, только атрибут crossorigin работает в связке с CORS-заголовками.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
canvas img draw проблема max0n Общие вопросы Javascript 2 04.07.2013 21:31
Функция для перевода размера из байтов в понятный для человека формат Антон Крамолов Ваши сайты и скрипты 4 05.04.2013 16:42
Появление элемента через две секунды Изучаю_JS Общие вопросы Javascript 2 02.02.2012 22:31
смена img и ссылки через 3 секунды? SunYang Общие вопросы Javascript 9 26.05.2011 21:20