bir görüntü etrafında görüntü sınır eklemek nasıl?

6 Cevap php

Bir görüntü etrafında bir görüntü sınır eklemek için herhangi bir basit bir yolu var mı?

Nedeni ben görüntünün çevresinde bir gölge efekti oluşturmak istiyorum.

Görüntüler küçük olarak yüklenir ve 110x75 piksel vardır ... Im bir gölge sınır oluşturma hakkında düşünme, ancak görüntünün çevresine bu eklemek için nasıl bilmiyorum, herkes bir yol biliyor musun?

PHP tercihen ...

6 Cevap

PHP gerçek görüntüyü değiştirmek için GD kütüphanesi veya ImageMagick kullanabilirsiniz, ama sadece bir web sayfasında gerekli ise de, CSS benzer bir etki elde edebilirsiniz.

Burada PHP ve GD ile bunu yaparken tam bir öğretici var:

Bu etkiyi yaratmak için CSS kullanmak gerekir. Birkaç seçenek vardır.

 .img{
      border-top:none;
      border-left:none;
      border-right:solid 2px #dddddd;
      border-bottom:solid 2px #dddddd;
 }

basit ama o kadar büyük görünmüyor.

Hatta gölgeleri daha iyi hale getirmek için bu tür gölgeler eklentisi olarak jQuery için bir eklenti kullanabilirsiniz. Bu sayfada herhangi bir öğe üzerinde güzel gölge efektleri yaratır.

Bu sadece görsel fog ise, CSS3 box-shadow özelliğini deneyebilirsiniz. Sadece olsa Firefox, Safari ve Chrome üzerinde çalışacak, bu yüzden bir, sadece bir "ilerici geliştirme" bulunuyor. This tutorial yardımcı olmalıdır.

Alternatif olarak temel bir etki için bu CSS kullanabilirsiniz. gallery Eğer görüntüleri çevreleyen elemanına vermek ne olursa olsun sınıfı adıdır (yani yoluyla <div class="gallery">...</div>). Genişlik / yükseklik isteğe bağlıdır, ancak görüntüleri tüm aynı boyutta ise o zaman yerine genişlik / yükseklik görüntülerin kendilerini öznitelikleri CSS kullanmak daha iyidir.

.gallery img {
    width: 100px;
    height: 75px;
    border-width: 0 3px 3px 0;
    border-style: solid;
    border-color: #ccc;
}

Daha iyi bir çözüm:

function addBorderpng($add,$bdr=1,$color='#000000'){
    $arr = explode('.', $add);
    $extension = strtolower(end($arr));
    $border=$bdr;
    if($extension == 'jpg'){
        $im=imagecreatefromjpeg($add);
    }
    else if($extension =='png'){
        $im=imagecreatefrompng($add);
    }
    $width=imagesx($im);
    $height=imagesy($im);
    $img_adj_width=$width+(2*$border); 
    $img_adj_height=$height+(2*$border);
    $newimage=imagecreatetruecolor($img_adj_width,$img_adj_height);

    $color_gb_temp =HexToRGB($color);
    $border_color = imagecolorallocate($newimage, $color_gb_temp['r'], $color_gb_temp['g'], $color_gb_temp['b']);
    imagefilledrectangle($newimage,0,0,$img_adj_width,$img_adj_height,$border_color);

    imagecopyresized($newimage,$im,$border,$border,0,0,$width,$height,$width,$height); 
    header('Content-type: image/jpeg');
    if($extension == 'jpg')
        imagejpeg($newimage,$add,9);
    else if($extension == 'png')
        imagepng($newimage,$add,9);
     //imagepng($newimage);
    //chmod("$add",0666);

}
 function HexToRGB($hex){
        $hex = ereg_replace("#", "", $hex);
        $color = array();

        if(strlen($hex) == 3) {
        $color['r'] = hexdec(substr($hex, 0, 1) . $r);
        $color['g'] = hexdec(substr($hex, 1, 1) . $g);
        $color['b'] = hexdec(substr($hex, 2, 1) . $b);
        }
        else if(strlen($hex) == 6) {
        $color['r'] = hexdec(substr($hex, 0, 2));
        $color['g'] = hexdec(substr($hex, 2, 2));
        $color['b'] = hexdec(substr($hex, 4, 2));
        }
        return $color;
 }
addBorderpng('shahid.png',5);

PHP kullanarak bunu yapmak istiyorsanız, PHP GD kütüphanesi deneyin: http://php.net/manual/en/book.image.php

CSS kullanarak border özelliğini kullanarak, daha kolay bir seçenek olacaktır.

php GD ile bir sınır görüntü etrafında eklemek

<?php

$img_src = '3.jpg';

$img = imagecreatefromjpeg($img_src);
$color = imagecolorallocate($img, 132, 15, 153);
$borderThickness = 10;

drawBorder($img, $color, $borderThickness);


    function drawBorder(&$img, &$color, $thickness)
    {
        $x1 = 0;
        $y1 = 0;
        $x2 = imagesx($img) - 1;
        $y2 = imagesy($img) - 1;

        for($i = 0; $i < $thickness; $i++)
        {

            imagerectangle($img, $x1++, $y1++, $x2--, $y2--, $color);
        }

    }

header('Content-type: image/jpeg');
imagejpeg($img);
?>

ve CSS kullanarak bir Image Burgusu ekle

.border
{
    width: 100px;
    height: 75px;
    border : 3px solid rgb(132, 15, 153);
}
<img src='3.jpg' class='border'>