16진수 색상을 진하게 하는 방법이 있을 까요?

16진수 색상을 진하게 하는 방법이 있을 까요?

QA

16진수 색상을 진하게 하는 방법이 있을 까요?

답변 3

본문

db에서 입력해둔 16진수 값을 가져와서

가져온 색상보다 진하게 할려고 하는데 힘드네요..

예를 들어

원래 색상

바꿀 색상

 

방법을 알려 주시거나 참조할수 있게 해주시면

감사하겠습니다.

이 질문에 댓글 쓰기 :

답변 3

참내.... 하다보니 별별걸 다 만들었었네요.  반쯤 만들다 만 함수입니다.

참고는 될겁니다. 살펴보세요.

 

  //◆ 특정 색상을 흐리거나 진한 색을 만들어 주는 함수


    function colors( $color, $seqSu, $cutSu=4, $dir = "FF" ){ // 용법 : FF -> 흐리게, 00 -> 진하게 :: $color를 $dir 방향으로 $cutSu 조각으로 잘라 $seqSu 번째 수
        $color = str_replace( "#", "", $color );    $cutSu = ceil( abs( $cutSu ) );    $seqSu = ceil( abs( $seqSu ) );
        if( $cutSu < $seqSu ) { $t = $cutSu; $cutSu = $seqSu; $seqSu = $t; }
        if( $cutSu == 0 || $seqSu == 0 ) return "#$color";
        if( $cutSu == $seqSu ) return ( $dir == "FF" ? "#ffffff" : "#000000" );
        if(!function_exists('upcolor')) { function upcolor( $tx,$cut,$seq ) { return str_pad( dechex( hexdec($tx) + ceil( ( hexdec(ff) - hexdec($tx) ) / $cut * $seq ) ), 2,0,0 ); } }
        if(!function_exists('dncolor')) { function dncolor( $tx,$cut,$seq ) { return str_pad( dechex( hexdec($tx) - ceil( hexdec($tx) / $cut * $seq ) ), 2,0,0 ); } }
        $tx1 = substr( $color, 0, 2 );  $tx2 = substr( $color, 2, 2 );  $tx3 = substr( $color, 4, 2 );
        if( $dir == "FF" ) {  $ntx1 = upcolor( $tx1, $cutSu, $seqSu );  $ntx2 = upcolor( $tx2, $cutSu, $seqSu );  $ntx3 = upcolor( $tx3, $cutSu, $seqSu );  }
        else               {  $ntx1 = dncolor( $tx1, $cutSu, $seqSu );  $ntx2 = dncolor( $tx2, $cutSu, $seqSu );  $ntx3 = dncolor( $tx3, $cutSu, $seqSu );  }
        return "#".$ntx1.$ntx2.$ntx3;
    }
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
  • 질문이 없습니다.
전체 0
© SIRSOFT
현재 페이지 제일 처음으로