21.10.2015, 22:08
|
|
Аспирант
|
|
Регистрация: 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);
) ?
заранее всем спасибо
|
|
21.10.2015, 22:18
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,124
|
|
|
|
21.10.2015, 22:43
|
|
Аспирант
|
|
Регистрация: 30.04.2013
Сообщений: 92
|
|
рони,
примерного решения с context.drawImage я там не нашла)
|
|
21.10.2015, 23:01
|
|
Аспирант
|
|
Регистрация: 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.
|
|
21.10.2015, 23:50
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,124
|
|
|
|
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>
|
|
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>
|
|
|
|