Changeset 7932


Ignore:
Timestamp:
12/03/13 17:48:00 (7 years ago)
Author:
severo
Message:

On met une croix qui prend la couleur du thème, et on gère le hover

et en passant, on centre la croix verticalement.

Location:
themes_spip/zpip2/mediaspip_simple
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • themes_spip/zpip2/mediaspip_simple/css/theme.css

    r7930 r7932  
    396396}
    397397.filtres .filtre {
    398         vertical-align:bottom;
     398        position: relative;
    399399        margin:0;
    400400        border-width:1px;
    401401        border-style:solid;
    402         padding:2px 5px;
     402        padding:2px 18px 2px 5px;
    403403        display: inline-block;
    404404        -moz-border-radius:8px;
     
    411411.filtres .filtre .valeur_filtre {}
    412412.filtres .filtre .supprimer_filtre {
    413         display: inline-block;
    414         height: 10px;
    415         width: 10px;
    416         background-image: url(images/item-remove.png)
     413        position: absolute;
     414        display: block;
     415        height: 8px;
     416        width: 8px;
     417        right: 5px;
     418        top: 50%;
     419        margin-top: -4px;
     420        background-image: url(images/close-8.png);
     421        border: none;
    417422}
    418423
  • themes_spip/zpip2/mediaspip_simple/mediaspip_simple_css.html

    r7920 r7932  
    176176        color: inherit;
    177177}
     178[.filtres .filtre .supprimer_filtre {
     179        background-image: url((#CHEMIN{css/images/close-8.png}|image_coloriser_masque{png,#GET{couleur_principale_foncee_2},0,true}|extraire_attribut{src}));
     180}]
     181[.filtres .filtre .supprimer_filtre:hover {
     182        background-image: url((#CHEMIN{css/images/close-8.png}|image_coloriser_masque{png,#GET{couleur_principale_claire_2},0,true}|extraire_attribut{src}));
     183}]
    178184#FILTRE{trim}
  • themes_spip/zpip2/mediaspip_simple/mediaspip_simple_css_fonctions.php

    r7840 r7932  
    99                return "rgb(".$rgb['red'].",".$rgb['green'].",".$rgb['blue'].")";
    1010}
     11/*
     12 * Tous les points non transparents prennent la couleur $coul
     13 * Copié sur la fonction image_aplatir
     14 */
     15function image_coloriser_masque($im, $format='jpg', $coul='000000', $qualite=NULL, $transparence=false)
     16{
     17        if ($qualite===NULL){
     18                if ($format=='jpg') $qualite=_IMG_GD_QUALITE;
     19                elseif ($format=='png') $qualite=0;
     20                else $qualite=128;
     21        }
     22        $fonction = array('image_coloriser_masque', func_get_args());
     23        $image = _image_valeurs_trans($im, "coloriser_masque-$format-$coul-$qualite-$transparence", $format, $fonction);
     24
     25        if (!$image) return("");
     26
     27        include_spip('inc/filtres');
     28        $couleurs = _couleur_hex_to_dec($coul);
     29        $dr= $couleurs["red"];
     30        $dv= $couleurs["green"];
     31        $db= $couleurs["blue"];
     32
     33        $x_i = $image["largeur"];
     34        $y_i = $image["hauteur"];
     35       
     36        $im = $image["fichier"];
     37        $dest = $image["fichier_dest"];
     38       
     39        $creer = $image["creer"];
     40
     41        if ($creer or true) {
     42                $im = @$image["fonction_imagecreatefrom"]($im);
     43                imagepalettetotruecolor($im);
     44                $im_ = imagecreatetruecolor($x_i, $y_i);
     45               
     46                // allouer la couleur de fond
     47                if ($transparence) {
     48                        @imagealphablending($im_, false);
     49                        @imagesavealpha($im_,true);
     50                        $color_t = imagecolorallocatealpha( $im_, $dr, $dv, $db, 127);
     51                }
     52                else $color_t = ImageColorAllocate( $im_, $dr, $dv, $db);
     53               
     54                imagefill ($im_, 0, 0, $color_t);
     55
     56                //??
     57                //$dist = abs($trait);
     58               
     59                $transp_x = false;
     60               
     61                for ($x = 0; $x < $x_i; $x++) {
     62                        for ($y=0; $y < $y_i; $y++) {
     63                       
     64                                $rgb = ImageColorAt($im, $x, $y);
     65                                $a = ($rgb >> 24) & 0xFF;
     66                                $r = ($rgb >> 16) & 0xFF;
     67                                $g = ($rgb >> 8) & 0xFF;
     68                                $b = $rgb & 0xFF;
     69
     70                                $a = (127-$a) / 127;
     71
     72                                if ($a == 1) { // Opaque : remplacer par $coul
     73                                        $r = $dr;
     74                                        $g = $dv;
     75                                        $b = $db;
     76                                }
     77                                else if ($a == 0) { // Transparent : on laisse $r, $g, $b
     78                                        $transp_x = $x; // Memoriser un point transparent
     79                                        $transp_y = $y;
     80                                } else { // Pas complÚtement transparent : remplacer par $coul, avec transparence
     81                                        $r = round($a * $r + $dr * (1-$a));
     82                                        $g = round($a * $g + $dv * (1-$a));
     83                                        $b = round($a * $b + $db * (1-$a));
     84                                }
     85                                $a = (1-$a) *127;
     86                                $color = ImageColorAllocateAlpha( $im_, $r, $g, $b, $a);
     87                                imagesetpixel ($im_, $x, $y, $color);   
     88                        }
     89                }
     90
     91                // passer en palette si besoin
     92                if ($format=='gif' OR ($format=='png' AND $qualite!==0)){
     93                        // creer l'image finale a palette (on recycle l'image initiale)                 
     94
     95
     96                        @imagetruecolortopalette($im,true,$qualite);
     97
     98
     99                        //$im = imagecreate($x_i, $y_i);
     100                        // copier l'image true color vers la palette
     101                        imagecopy($im, $im_, 0, 0, 0, 0, $x_i, $y_i);
     102                        // matcher les couleurs au mieux par rapport a l'image initiale
     103                        // si la fonction est disponible (php>=4.3)
     104                        if (function_exists('imagecolormatch'))
     105                                @imagecolormatch($im_, $im);
     106                               
     107                        if ($format=='gif' && $transparence && $transp_x) {     
     108                                $color_t = ImagecolorAt( $im, $transp_x, $transp_y);
     109                                if ($format == "gif" && $transparence) @imagecolortransparent($im, $color_t);
     110                        }
     111                               
     112                               
     113                        // produire le resultat
     114                        _image_gd_output($im, $image, $qualite);
     115                }
     116                else
     117                        _image_gd_output($im_, $image, $qualite);
     118                imagedestroy($im_);
     119                imagedestroy($im);
     120        }
     121        return _image_ecrire_tag($image,array('src'=>$dest));
     122}
    11123?>
Note: See TracChangeset for help on using the changeset viewer.