Autor | Zpráva | ||
---|---|---|---|
Akali Profil |
#1 · Zasláno: 12. 1. 2013, 19:49:25
Ahoj. Jak změnít velikost obrázku v PHP tak, aby se netransformoval?
Lze nějak nastavit maximální výšku a podle toho by se nějak dopočítala i šířka. Popřípadě jak nastavit maximální povolenou šířku a výšku? Děkuji. |
||
Rellik Profil |
#2 · Zasláno: 12. 1. 2013, 20:02:36
Jde to zhruba tak (thumb.php) Případně koukni sem http://cz.php.net/manual/en/imagick.resizeimage.php
|
||
Akali Profil |
#3 · Zasláno: 13. 1. 2013, 09:08:44
Myslel jsem upravu obrazku pri zobrazeni. Ne při nahrávání.
Mám totiž div o velikosti 200px na 200px a do něj nějak potřebuju vložit nezdeformovaný obrázek. Takže když mám obrázek 400px na 200px tak bych ho potřeboval zobrazit 200px na 100px. Prostě aby se výška upravovala ve stejném poměru jako šířka |
||
Joker Profil |
#4 · Zasláno: 13. 1. 2013, 09:32:39
Akali:
„Prostě aby se výška upravovala ve stejném poměru jako šířka“ Tak rozměr delší strany zmenšeného obrázku je daný (maximální velikost, tj. v našem příkladu těch 200px) a kratší rozměr se spočítá jednoduše: kratší rozměr zmenšeného = maximální velikost * (kratší rozměr původního / delší rozměr původního) kratší rozměr původního dělený delším rozměrem původního je poměr stran |
||
Rellik Profil |
#5 · Zasláno: 13. 1. 2013, 10:08:07
Akali:
„Myslel jsem upravu obrazku pri zobrazeni. Ne při nahrávání.“ A tak mi teda ukaž kde sem ti napsal něco o nahrávání? ;) Kdyby se pořádně podíval na co odkazuju tak už to máš hotové... thumb.php: <?php $filename = $_GET['obrazek']; // obrázek načtený z parametru - viz níž $width = 200; // maximální šířka $height = 200; // maximální výška header('Content-Type: image/jpeg'); // hlavička souboru list($width_orig, $height_orig) = getimagesize($filename); // získání rozměrů obrázku // přepočítání velikosti se zachováním poměrů $ratio_orig = $width_orig/$height_orig; if ($width/$height > $ratio_orig) { $width = $height*$ratio_orig; } else { $height = $width/$ratio_orig; } // zmenšení $image_p = imagecreatetruecolor($width, $height); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // zobrazení imagejpeg($image_p, null, 100); ?> Obrázek na webu pak budeš mít zapsaný jako: <img src="thumb.php?obrazek=jmeno_obrazku_ktery_chces_zmensit.jpg" alt="Obrázek"> |
||
Časová prodleva: 13 let
|
0