颜色的逆置

将十六进制表示的颜色值,转换成十进制,再用255减去十进制值,最后转成十六进制的值表示:

例如:最初是#FF0000  与它对立的颜色是#00FFFF

 function changeRGB(RGBs) {
        var arr = RGBs.split(‘‘);
      //  console.log(RGBs);
        var rgb1 = arr[1].concat(arr[2]);
       // console.log(rgb1);
        var rgb2 = arr[3].concat(arr[4]);
        //console.log(rgb2);
        var rgb3 = arr[5].concat(arr[6]);
       // console.log(rgb3);
        var arr1 = [];
        arr1[0] = parseInt(rgb1, 16);
       // console.log(arr1[0]);
        arr1[1] = parseInt(rgb2, 16);
       // console.log(arr1[1]);
        arr1[2] = parseInt(rgb3, 16);
       // console.log(arr1[2]);
        // var rgb10=arr1.join(",");
        var rgb16 = [];
        for (var i = 0; i < arr1.length; i++) {
            rgb16[i] = (255 - arr1[i]).toString(16, 2).toUpperCase();
            if (rgb16[i].length < 2) {
                rgb16[i] = "0".concat(rgb16[i]);
            }
        }
        //console.log(rgb16[0]);
       // console.log(rgb16[1]);
        //console.log(rgb16[2]);
        var result = rgb16.join(‘‘);
        alert("#" + result);
    }

  

时间: 2025-01-02 00:57:38

颜色的逆置的相关文章

单链表逆置

重写单链表逆置,熟能生巧- #include <iostream> #include <cstdlib> using namespace std; typedef struct List{ int num; struct List *next; }ListNode,*pListNode; void display(ListNode *pHead) { while(pHead) { cout<<pHead->num<<"--"; pH

数组逆置

1 public class Reverse { 2 3 /** 4 * 逆置函数 5 * 6 * @param array 7 * 需要逆置的数组 8 * @return 逆置后的数组 9 */ 10 public int[] reverse(int[] array) { 11 int size = array.length; 12 for (int i = 0; i < size / 2; i++) { 13 /* array[size - 1 - i]:下标为i值的对称下标的值 */ 14

java实现单链表逆置

1 class LNode 2 { 3 public LNode next; 4 public int data; 5 } 6 /*逆置链表*/ 7 class Nizhi 8 { 9 private static LNode head = new LNode();; 10 private static LNode node; 11 private static LNode tail; 12 private static int index; 13 private static LNode ne

如何在时间复杂度为O(n)空间复杂度为O(1)的情况下完成链表的逆置

问题如题目,首先分析,链表的反转的空间复杂度如果为常数级,那么不可能完成从堆中申请数据来完成链表的反转工作,所以问题就转化为了如何将原链表修改/拆解为逆置的链表: 函数形式假定如下  void Inverse(List*&head)//////修改原链表为逆置 第一种办法最简单,就是在创建一个局部变量 List*tail 作为产生的新链表的“尾部”,再设置一个“游标”指针用于指向当前正在访问的链表单元,然后按顺序循环遍历链表,在遍历的同时将正在访问的链表单元添加到新链表尾部的“tail”指针前面

对于&quot;单链表逆置和递归&quot;的问题的理解.

一. 相关知识要点: 学习或了解基础数据结构和C语言, 对基础链表知识或相关知识有概况性认识. 例如: 本题目结构为: 1 #define elem_type int 2 3 typedef struct _single_list { 4 elem_type data; //所存的数据元素 5 _single_list *next; //所存的指针元素 6 }ListNode; 二. 问题的思考过程(本题以3种不同的方法解决): <1>类似于我们学习的C语言基础知识中的冒泡排序(参考C程序设计

【C++】实现双向链表的所有操作,包括逆置双链表(三种方法)

建立源文件List.cpp include "List.h" int main() {     Test();     system("pause");     return 0; } 建立头文件List.h #ifndef __LISH_H__ #define __LISH_H__ #include<iostream> using namespace std; typedef int DataType; struct ListNode {     Li

不创建第三方变量对整型数组逆置

以整型数组为例实现逆置 将一个整型数组逆序,如:数组a[5]={1,2,3,4,5},逆序之后数组a的内容变成{5,4,3,2,1}. void SwapNum(int& a, int& b) {  a = a^b;  b = a^b;  a = a^b; } void SwapArray(int *str,int size) {  int i = 0;  for (i = 0; i < size / 2; i++)  {   SwapNum(str[i], str[size - i

线性表逆置

建立长度为n的顺序表,然后将表中的数据元素逆置,即若表中原来的数据元素序列为(a0,a1,a2,-,an),则逆置后的数据元素序列为(an,an-1,an-2,-,a1,a0).(数据类型为字符型) Description 第一行为顺序表的长度n: 第二行为顺序表中的数据元素: Input 输出为逆置后的顺序表 Output 1 2 3 7 A B C D E F G Sample Input 1 G F E D C B A Sample Output #include<stdio.h> in

单链表就地逆置

题目:有一个线性表(a1,a2,a3,...,an),采用带头节点的单链表L存储,设计一个算法将其就地逆置,线性表变为(an,...a3,a2,a1).所谓"就地"指辅助存储空间为O(1). 解题思路: 如果是顺序存储的话,我们很容易想到解题思路,利用1个辅助变量让第1个元素与第n个元素交换,然后再利用这个辅助变量让第2个元素与第n-1个元素交换,...最后利用这个辅助变量让第n/2个元素与第n+1-n/2个元素交换. 如果不要求"就地"的话,可以创建一个n个元素辅