Autor | Zpráva | ||
---|---|---|---|
Medvídek Profil |
#1 · Zasláno: 21. 4. 2008, 23:54:03
Mam PHP+AJAX uplaod skript, kde si nactu obrazek a rovnou ho zmensim, bohuzel funguje pouze JPEG a GIF, PNG mi nějak zlobí :(
<?php session_start(); include "funkce.php"; $id=$_SESSION["id"]; $result = 0; $cas=StrFTime("%H-%M-%S", Time()); $datum=StrFTime("%Y-%m-%d"); $jmeno=$_FILES['myfile']['name']; $nazev=$datum."-".$cas."-".$jmeno; $target_path = "avatari/".$nazev; if(@move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) { $result = 1; $vysledek=mysql_query("UPDATE uzivatele SET avatar='$nazev' WHERE id='$id' "); $obrazek = GetImageSize($target_path); $sirka = $obrazek[0]; $vyska = $obrazek[1]; $typ = $obrazek[2]; if ($sirka > 100 || $vyska > 00) { $pomer = max($sirka,$vyska)/100; $thumb_sirka = round($sirka/$pomer); $thumb_vyska = round($vyska/$pomer); } $thumb = imagecreatetruecolor($thumb_sirka, $thumb_vyska); if($typ==2) { $source = imagecreatefromjpeg($target_path); imageinterlace($thumb, 1); // ZMENIM VELIKSOT imagecopyresized($thumb, $source, 0, 0, 0, 0, $thumb_sirka, $thumb_vyska, $sirka, $vyska); // VÝSTUP imagejpeg($thumb, $target_path, 90); } if($typ==1) { $source = imagecreatefromgif($target_path); imageinterlace($thumb, 1); // ZMENIM VELIKSOT imagecopyresized($thumb, $source, 0, 0, 0, 0, $thumb_sirka, $thumb_vyska, $sirka, $vyska); // VÝSTUP imagegif($thumb, $target_path, 90); } if($typ==3) { $source = imagecreatefrompng($target_path); imageinterlace($thumb, 1); // ZMENIM VELIKSOT imagecopyresized($thumb, $source, 0, 0, 0, 0, $thumb_sirka, $thumb_vyska, $sirka, $vyska); // VÝSTUP imagepng($thumb, $target_path, 90); } } sleep(1); ?> <script language="javascript" type="text/javascript">window.top.window.stopUpload(<?php echo $result; ?>);</script> Prosim, koukněte se někdo na to, jestli nevidíte nějakou chybu :( Když mi funguje GIF i JPEGecko, tak nevim proc ne PNGcko :( |
||
Matty Profil |
#2 · Zasláno: 22. 4. 2008, 07:58:39 · Upravil/a: Matty
Medvídek
Nejsem si jist, ale určitě se u funkce imagepng() nastavuje kvalita? Edit: Aha, nastavuje. Tak nic... |
||
Warden Profil |
#3 · Zasláno: 22. 4. 2008, 15:04:08
image gif ti funguje? Ten myslim nemá quality parametr...png ho sice má, ale až od php 5.1.2, tak si zjisti, na jakém php vlastně běžíš...jen tak pro zajímavost, bych ten třetí parametr z imagepng smaznul :)
|
||
Medvídek Profil |
#4 · Zasláno: 22. 4. 2008, 20:04:35 · Upravil/a: Medvídek
OK vyzkouším :) Děkuji za TIP
EDIT: Mockrát děkuji, problém vyřešen, opravdu to bylo tou kvalitou :) Teď sem ale přišel na další problém :( Pokud nahraju GIF s transparentnim pozadim, tak se prevede na cerny :( Nevíte, zdali to lze vyřešit (buďto na transparentní, nebo alespoň bílé) A dále, zda-li jdou zmenšit i pohyblivé GIFy .. ale to asi pochybuju :( |
||
Časová prodleva: 16 let
|
0