Canvas 颜色反转

ImageData中的元素反转颜色 255-data[i,i+1,i+2]

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>converse color</title>
</head>

<body>
    <canvas id=‘myCanvas‘ width=‘800‘ height=‘600‘>
        your browser does not support canvas
    </canvas>
    <script type="text/javascript">
    var c = document.getElementById(‘myCanvas‘);
    var ctx = c.getContext(‘2d‘);
    var img = new Image();
    img.src = ‘face.jpg‘;
    img.onload = function() {
        ctx.drawImage(img, 0, 0);
        var imgData = ctx.getImageData(0, 0, 250, 250);
        var pixels = imgData.data;
        for (var i = 0, n = pixels.length; i < n; i += 4) {
            pixels[i] = 255 - pixels[i];
            pixels[i + 1] = 255 - pixels[i + 1];
            pixels[i + 2] = 255 - pixels[i + 2];
        }
        ctx.putImageData(imgData, 250, 0);
    };
    </script>
</body>

</html>
时间: 2024-11-06 23:40:51

Canvas 颜色反转的相关文章

Java实现-2016百度秋招(颜色反转、相似字符串)

1.颜色反转 题目描述: 在 Web 开发中,通常使用 16 进制 RGB 表示一个颜色.例 如 #0000FF 表示蓝色,#FF7F50 表示珊瑚红.在这道题中,我们要求把给定的一种颜色取反,方法是把 RGB 的每个位转换成十进制 rgb,再用 255 减去,再转换成 16 进制.例如蓝色取反是黄色(#FFFF00). 输入:#0000FF #FFFF00 输出:#FFFF00 #0000FF import java.util.ArrayList; import java.util.List;

html5 Canvas颜色渐变(画图很重要)

如果我们想要给图形上色,有两个重要的属性可以做到:fillStyle 和 strokeStyle.    fillStyle = color    strokeStyle = color strokeStyle 是用于设置图形轮廓的颜色,而 fillStyle 用于设置填充颜色.color 可以是表示 CSS 颜色值的字符串,渐变对象或者图案对象.默认情况下,线条和填充颜色都是黑色(CSS 颜色值 #000000). 下面的例子都表示同一种颜色.   // 这些 fillStyle 的值均为 '

HTML5 Canvas 颜色填充学习

---恢复内容开始--- 如果我们想要给图形上色,有两个重要的属性可以做到:fillStyle 和 strokeStyle. fillStyle = color strokeStyle = color strokeStyle 是用于设置图形轮廓的颜色,而 fillStyle 用于设置填充颜色.color 可以是表示 CSS 颜色值的字符串,渐变对象或者图案对象.默认情况下,线条和填充颜色都是黑色(CSS 颜色值 #000000). 下面的例子都表示同一种颜色. ctx.fillStyle = "

canvas -颜色,样式 相关

属性 (6个): fillStyle : color|gradient|pattern - 填充颜色 strokeStyle : color|gradient|pattern  - 边框颜色 shadowColor : color - 阴影颜色 shadowBlur  -  设置或者返回阴影的模糊级别 shadowOffsetX,shadowOffsetY 设置水平和垂直距离 方法(4个): createLinearGradient(x1,y1,x2,y2)  - 创建渐变 createPatt

『HTML5梦幻之旅』 - 舞动色彩,Canvas下实现颜色动画

注:为了方便起见,本次开发用到了开源引擎lufylegend,官方地址如下:http://lufylegend.com/lufylegend 今天来学习下HTML5 Canvas颜色动画.什么是颜色动画呢?以我的理解就是以某种颜色过渡到另一种颜色.和这个效果有点类似:http://w3school.com.cn/tiy/t.asp?f=css3_animation1 上面的demo是用css3实现,而我们今天要用的是Canvas.Canvas并没有相关的API,所以要想实现这种效果,只有靠自己了

HTML5 Canvas游戏开发(二)高级功能

一.变形 1.放大和缩小 scale(X,Y)函数. 当使用该函数时,其起始坐标值也被放大或缩小.当X.Y为负值时,可以实现翻转. 2.平移变换 translate(X,Y)函数. 表示水平方向向左移动,竖直方向向下移动. 3.旋转变换 rotate(角度)函数. 旋转一定角度,是以canvas的起始坐标坐标(0,0)为中心旋转.可使用translate修改canvas的中心. 4.setTransfrom函数实现倾斜效果 可使用transfrom()函数代替上述三种函数的功能. 二.图形的渲染

【HTML】Canvas(4)-进阶

canvas高级功能 放大与缩小:用scale函数来实现图形的放大和缩小          原型:scale(x,y);   x表示在x轴进行缩放,即水平缩放:y表示在y轴上进行缩放,即竖直方向缩放. 放大: var c=document.getElementById('mycanvas'); var ctx=c.getContext('2d'); //以(10,10)为坐标起点开始绘制一个长150,宽100的黑色矩形 ctx.beginPath(); ctx.strokeStyle='#000

canvas绘图动态效果

Canvas学习(二) 一.变形(基本思想都是先移动画布,在绘画) 1) 缩放scale() //缩放scale() ctx.strokeRect(20,20,100,100); ctx.scale(3,3);//相当于画布放大了三倍,所以起始坐标都放大了三倍,必须两个参数 ctx.beginPath(); ctx.strokeRect(20,20,100,100); ctx.scale(0.2,0.2);//会根据上一个的画布大小来缩放,很重要 ctx.beginPath(); ctx.str

HTML 5 canvas —— 基本语法

目录 简述 canvas 基础 2D context API 基本线条 路径 插入图像 像素级操作 文字 阴影 颜色渐变 小节 简述 HTML 5 规范引进了很多新特性,其中最令人期待的之一就是 canvas 元素.HTML 5 canvas 提供了通过 JavaScript 绘制图形的方法,此方法使用简单但功能强大.每一个 canvas 元素都有一个”上下文( context )” (想象成绘图板上的一页),在其中可以绘制任意图形.浏览器支持多个 canvas 上下文,并通过不同的 API 提