Bir web sayfası içine resim kesmek için nasıl

6 Cevap php

Benim web sayfasında bir görüntünün bir kısmını göstermek istiyorum. Orijinal biçim gösterilen görüntü 100x768 olmak zorunda 1024x768 olduğunu varsayalım. Bu 0,0 piksel başlayarak yeniden boyutu ama basit bir kesim değil. Herhangi bir öneriniz?

6 Cevap

BB'nin Klip özelliğini kullanın:

img { position:absolute; clip:rect(0px 60px 200px 0px) }

Ya da bir kabın üzerine taşması kullanın:

<div style="overflow:hidden; width:100px; height:76px;">
  <img src="myImage.jpg" />
</div>

Sen resmin sadece bir kısmını göstermek için CSS clip kullanabilirsiniz, gibi:

img {
    position:absolute;
    clip:rect(0px,100px,768px,0px);
}

Görüntüyü kırpmak veya mevcut kütüphane kullanımı, WIDEimage operasyonları bu tür için en iyi biridir.

Eğer bir resim editörü kullanarak sunucuya yüklemeden önce resmi kırpın. Eğer bütün görüntü yüklenmiş fakat kesilmiş gerek nedense sürece ...

Başka bir çözüm, arka plan görüntüsü olarak resim ekleme olacaktır.

<div style="width: 768px; height: 100px; background: url(theimage.jpg) no-repeat left top;"></div>

CSS çözümleri aslında bütün görüntü indirmek unutmayın, o zaman bunun sadece üst kısmını gösterir.

Kullanıma bağlı olarak, dinamik bir kırpma komut dosyası veya önbelleğe alma ön kırpılmış görüntüler ya öneririm.

Bir kırpma komut dosyası gibi bir şey olurdu:

<?php

// get parameters
$fname = (string) $_GET['f'];
$top = (int) $_GET['h'];

// load original
$old = imagecreatefromjpeg($fname);
list($width, $height) = getimagesize($fname);
   // N.B. this reloads the whole image! Any way to get
   // width/height directly from $old resource handle??

// create new canvas
$new = imagecreatetruecolor($width, $top);

// copy portion of image
imagecopy($dest, $src, 0, 0, 0, 0, $width, $top);

// Output and free from memory
header('Content-Type: image/jpeg');
imagejpg($new);

?>

ve benzeri web sayfasından olacağını söyledi:

<img src="crop.php?f=myimg.jpg&h=100" />