oranı tutarak görüntü boyutlandırmak

7 Cevap php

im mysql kullanarak fotoğraf listeleme. gibi

<?
$a = mysql_query("select * from x");
?>
<? while ($w=mysql_fetch_array($a)) { ?>
<img src="<?=$w[url]?>" alt="<?=$w[name]?>" width="150" height="110" />
<? } ?>

Bu şey için, nasıl ben resim ORANI tutabilir? genişliği 150 ve yüksekliği 500 bir resim ben bu nasıl düzeltebilirim .. çok çok kötü kalite gidiyor?

7 Cevap

Sadece bir boyut (genişlik veya yükseklik ancak ikisini) belirtin ve bu oranı tutacak. : CSS ile ayrıca sadece maximum width ve maximum height belirtebiliriz

<img src="<?=$w[url]?>" alt="<?=$w[name]?>" style="max-width:150px; max-height:110px" />

Sadece HTML yalnızca genişlik veya yükseklik yalnızca belirterek oranını devam edecektir.

Ya da aslında Akıllı Image Resizer gibi bir komut ile dinamik Fotoğraflarınızı yeniden boyutlandırmak: http://shiftingpixel.com/2008/03/03/smart-image-resizer/

Eğer php kullanarak görüntü boyutu alabilirsiniz:

list($width, $height) = getimagesize($file);

Böyle bir şey deneyin:

$ratio = $height / $width;
$new_width = 150;
$new_height = $ratio * $new_width;

Sadece bir genişliği belirtirseniz, tüm tarayıcılar (ben ... biliyorum) görüntüyü doğru dönüşebilecek.

Ancak, görüntüleri bir sürü yüklemek için gidiyoruz eğer küçültmek düşünebilirsiniz.

Eğer bunu söylemek ne maç için Rezise için güçlerin tarayıcısının both genişlik ve yükseklik ayarlama.

Görüntünün rasyon tutulur, böylece sadece bir (yükseklik veya genişliği) Ayar yeniden boyutlandırır.

Sen PHP işlevi getImageSize to get the image's actual width and height, and then rerform a proportional resize based on height / width = new_width / new_height kullanabilirsiniz

Sen (yeniden boyutlandırma) görüntüyü yeniden örneklemek için bir yeniden boyutlandırma komut dosyası kullanabilirsiniz.

A good script is located here: http://shiftingpixel.com/2008/03/03/smart-image-resizer/

Kullanmak için:

<img src="/image.php?image=/img/test.jpg&amp;width=150&amp;height=500" alt="Test" />

Ben genişliği her zaman doğrudan veritabanında yeniden örneklenen eklemek görüntü olabilir Bu yükseklik / kullanmayı planlıyoruz. Bu şekilde sunucu üzerinde yer israf olmaz. Birçok yükseklik / genişlik kullanın veya gelecekte bu boyutlarını değiştirmek için planlıyorsanız şimdi yaptığınız gibi, orijinalleri tutmalı.