Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2015, 22:08
Аватар для Sakyra
Аспирант
Отправить личное сообщение для Sakyra Посмотреть профиль Найти все сообщения от Sakyra
 
Регистрация: 30.04.2013
Сообщений: 92

отражение картинки
Добрый вечер дорогие форумчане помогите с не большой наверное задачкой)

Имеется скрипт для отрисовки картинки в canvas

function renderSkin2d(skinImage)
    {
        var canvas = document.createElement('canvas');
        canvas.width = 58 * scale;
        canvas.height = 32 * scale;
        canvas.setAttribute('class', skinImage.getAttribute('class'));
        var context = canvas.getContext("2d");
        context.imageSmoothingEnabled = false;
        context.webkitImageSmoothingEnabled = false;
        context.mozImageSmoothingEnabled = false;
        var s = scale;
        var h = 16 ; 
        context.drawImage(skinImage, 4*h,  20*h, 4*h, 12*h, 4*s,  20*s, 4*s, 12*s);  
        
        context.drawImage(skinImage, 4*h,  20*h, 4*h, 12*h, 8*s,  20*s, 4*s, 12*s);
}


Первый context отрисовывает картинку правильно

а второй context отрисовывает туже самую картинку только немного правее (как второй context отзеркалить по горизонтали
context.drawImage(skinImage, 4*h,  20*h, 4*h, 12*h, 8*s,  20*s, 4*s, 12*s);
) ?

заранее всем спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2015, 22:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Sakyra,
Canvas зеркально отражение!
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2015, 22:43
Аватар для Sakyra
Аспирант
Отправить личное сообщение для Sakyra Посмотреть профиль Найти все сообщения от Sakyra
 
Регистрация: 30.04.2013
Сообщений: 92

рони,
примерного решения с context.drawImage я там не нашла)
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2015, 23:01
Аватар для Sakyra
Аспирант
Отправить личное сообщение для Sakyra Посмотреть профиль Найти все сообщения от Sakyra
 
Регистрация: 30.04.2013
Сообщений: 92

context.scale(-1, 1); применить не получается


context.drawImage(skinImage, 4*h,  20*h, 4*h, 12*h, 4*s,  20*s, 4*s, 12*s);  
context.scale(-1, 1);
context.drawImage(skinImage, 4*h,  20*h, 4*h, 12*h, 8*s,  20*s, 4*s, 12*s);

Последний раз редактировалось Sakyra, 21.10.2015 в 23:05.
Ответить с цитированием
  #5 (permalink)  
Старый 21.10.2015, 23:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Sakyra,
http://www.digitalia.be/software/ref...js-for-jquery/
Ответить с цитированием
  #6 (permalink)  
Старый 22.10.2015, 00:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

canvas зеркальное отражение
Sakyra,
<!doctype html>
<html>
<meta charset='utf-8'>
<head><title></title></head>
<body>
<canvas id='image' width="500" height="375" ></canvas>
<script>
var k = .6,
    img = document.getElementById('image'),
    context = img.getContext('2d'),
    pic = new Image();
pic.onload = function () {
  context.canvas.width = pic.width;
  context.canvas.height = pic.height*(1 + k);
  context.drawImage(pic, 0, 0, pic.width, pic.height)
  context.translate(0, pic.height)
  context.scale(1, -1);
  context.drawImage(pic, 0, -pic.height*k, pic.width, pic.height*k)
};
pic.src = 'http://berimus.ru/uploads/thumbs/c/9/4/c94b13fe0561c596ce800e7d24e8da78.jpg';
</script>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 22.10.2015, 01:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Sakyra,
<!doctype html>
<html>
<meta charset='utf-8'>
<head><title></title></head>
<body>
<canvas id='image' width="500" height="375" ></canvas>
<script>
var k = .3, op = .3 ,
    img = document.getElementById('image'),
    context = img.getContext('2d'),
    pic = new Image();
pic.onload = function () {
  context.canvas.width = pic.width;
  context.canvas.height = pic.height*(1 + k);
  context.drawImage(pic, 0, 0, pic.width, pic.height)
  context.translate(0, pic.height)
  context.scale(1, -1);
  context.drawImage(pic, 0, -pic.height, pic.width, pic.height);
  gradient = context.createLinearGradient(0, 0, pic.width,0);
  gradient.addColorStop(0, "rgba(255, 255, 255, " + op + ")");
  gradient.addColorStop(1, "rgba(255, 255, 255, 1.0)");
  context.fillStyle = gradient;
  context.rect(0, -pic.height, pic.width, pic.height);
  context.fill();
};
pic.src = 'http://multiki-kartinki.narod.ru/images/Pooh28_small.jpg';
</script>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена картинки при нажатии на маленькие картинки comb Элементы интерфейса 4 23.03.2015 01:08
Очистка памяти, отмена загрузки картинки, отмена события. zhurchik Общие вопросы Javascript 16 23.10.2014 13:48
Идентифицировать картинки MellDixX Общие вопросы Javascript 8 04.08.2013 18:16
Получение координат от картинки EmDmAl Events/DOM/Window 4 08.11.2009 14:34
Как изменить размер картинки? Mihail Общие вопросы Javascript 1 25.10.2009 13:42