Autor | Zpráva | ||
---|---|---|---|
Gecko Profil * |
#1 · Zasláno: 14. 2. 2010, 22:49:54
Zdravím,
stojím před problémem. Nahrávám obrázky na server, do toho je ořezávám a vkládám watermark, chci se zeptat zdali není zásadní chyba přu uploadu přejmenovat fotku z fotka.png/gif na jpg, tím si chci zjednodušit zápis. |
||
Majkl578 Profil |
#2 · Zasláno: 14. 2. 2010, 22:55:10
Pokud to pouze změníš, tak to problém je, bude se lišit mime type.
Pokud používáš gd knihovnu, tak obrázek můžeš exportovat jako image/jpeg pomocí imagejpeg(). |
||
Joker Profil |
#3 · Zasláno: 14. 2. 2010, 22:57:18
Gecko:
„zdali není zásadní chyba přu uploadu přejmenovat fotku z fotka.png/gif na jpg, tím si chci zjednodušit zápis“ Jakým způsobem to zjednoduší zápis? Přejmenováním obrázku na .jpg nezměníte typ obrázku, čili vznikne png/gif obrázek s příponou jpg, což může zmást programy, které podle přípony určují typ obrázku. Tj. obrázek se v některých případech nemusí zobrazit. Krátce: Ano, může to být problém. |
||
Gecko Profil * |
#4 · Zasláno: 14. 2. 2010, 23:00:08
Majkl578, Joker
čili nejdříve převedu obrazek.png/jpg a paks nim dale pracuji? |
||
Majkl578 Profil |
#5 · Zasláno: 14. 2. 2010, 23:01:40
Gecko:
Načetl bych ho pomocí GD, upravil a vyexportoval jako PNG s koncovkou .png. |
||
Gecko Profil * |
#6 · Zasláno: 14. 2. 2010, 23:07:52
Tak přiznám se že nvím, jak dál.
Ukázka $watermark = imagecreatefrompng('http://www.mstudiosphotography.com/v1site_images/watermark.png'); $image = imagecreatefromjpeg ($_FILES['image']['tmp_name']); $rozmery = getimagesize($_FILES['image']['tmp_name']); $ww = imagesx($watermark); $wh = imagesy($watermark); $w = imagesx($image); $h = imagesy($image); $copy = imagecopy($image, $watermark, $w-$ww, 10, 10, 0, $ww, $wh); $miniatura = 800; /* šířka zmenšené fotky */ $pomer = $rozmery[0]/$rozmery[1]; $obr = imagecreatetruecolor($miniatura, $miniatura/$pomer); imagecopyresampled($obr, $image, 0, 0, 0, 0, $miniatura, $miniatura/$pomer, $rozmery[0], $rozmery[1]); imagejpeg ($obr,$_FILES['image']['tmp_name']); $kopirovani = move_uploaded_file($_FILES['image']['tmp_name'], $nove_jmeno); Při uploadu projdou všechny obrázky se všemi koncovkami, jpeg a jpg upravit jdou ale ostatní formáty ne. |
||
Majkl578 Profil |
#7 · Zasláno: 14. 2. 2010, 23:10:32
Viz řádek 2, načítáš vše jako jpg.
|
||
Joker Profil |
#8 · Zasláno: 14. 2. 2010, 23:10:33
Gecko:
„jpeg a jpg upravit jdou ale ostatní formáty ne.“ To je kvůli tomu, že pro uploadovaný obrázek používáte funkci imagecreatefromjpeg, která umí načíst (jen) JPEG obrázek. |
||
Gecko Profil * |
#9 · Zasláno: 14. 2. 2010, 23:20:02
Už to vidím, koukal jsem zde http://programujte.com/?akce=clanek&cl=2008011401-gd-knihovna-1-lekce-dodatek- ale moc dobre to nechapu.
Obrazek prejmenovavam takto: $cas = StrFTime("%d-%m-%Y-%H-%M-%S", Time()); $jmeno_souboru=$cas.'.'.$extenze; $nove_jmeno="soubory/".$jmeno_souboru; //Přednastavená složka "soubory" Tady bych měl tedy něco měnit? |
||
AM_ Profil |
#10 · Zasláno: 14. 2. 2010, 23:26:58
Myslíš, že když si na Ferrari nalepíš značku Škoda, že ti ho pak opraví ve Škodováckém servisu? Soubory mají různé přípony z dobrého důvodu, ikdyž jsou třeba všechny obrázky, každý je uložený jiným způsobem. Když soubor přejmenuješ na JPG, nestane se z něj JPG, ale PNG se špatně zapsanou koncovkou.
Není zase tak složité si z názvu souboru vytáhnout příponu a pak jednoduchou podmínkou použít správnou imagecreatefrom* funkci. |
||
Gecko Profil * |
#11 · Zasláno: 15. 2. 2010, 00:03:07
AM:
„Myslíš, že když si na Ferrari nalepíš značku Škoda, že ti ho pak opraví ve Škodováckém servisu? Soubory mají různé přípony z dobrého důvodu, ikdyž jsou třeba všechny obrázky, každý je uložený jiným způsobem.“ Neboj, zas tak blbej nejsem. |
||
AM_ Profil |
#12 · Zasláno: 15. 2. 2010, 00:10:09
Gecko:
„Neboj, zas tak blbej nejsem.“ Na přirovnání jsem demonstroval, proč nelze PNG otevírat jako JPG, ani když ho přejmenuješ. Což jsi zřejmě nevěděl, jinak bys toto téma předpokládám nezakládal. |
||
Časová prodleva: 15 let
|
0