Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 16 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 01.09.07
Prihlásený: 18.05.11
Príspevky: 141
Témy: 36
Bydlisko: 127.0.0.1
Príspevok NapísalOffline : 07.01.2008 13:55

Ako sa dá cez PHP zmenšiť veľkosť (rozmerov v px) obrázku ? Viem že sa to nejako dá, len neviem ako - chcel by som vytvoriť skript, ktorý by pri upload-e nahral obrázok ako napr xyz.jpg a hneď by z toho súboru vygeneroval zmenšeninu a tu uložil ako xyz_small.jpg. Raz som to videl v nejakej galérií, len už neviem jej názov. Nevie niekto ako sa to dá ? Pravdepodobne to bude chcieť nejakú knižnicu, tak potom tu hoďte aj jej názov ;)


Offline

Skúsený užívateľ
Skúsený užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 07.01.2008 14:35

Knižnica GD (alebo GD2), http://sk.php.net/manual/sk/ref.image.php







_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 01.09.07
Prihlásený: 18.05.11
Príspevky: 141
Témy: 36
Bydlisko: 127.0.0.1
Príspevok Napísal autor témyOffline : 07.01.2008 14:44

a čo tak dať tu presnú funkciu a jej popis ? nie každý vie po ang tak dobre ;)







_________________
It easier to run away
Offline

Čestný člen
Čestný člen
Generovanie zmenseniny obrazku

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1752
Témy: 17
Príspevok NapísalOffline : 07.01.2008 15:15

no tych funkcii je tam viac. inak myslim, ze nazvy funkcii su celkom vystizne, takze to pochopi aj clovek so slabsou anglictinou.







_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

Užívateľ
Užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 01.09.07
Prihlásený: 18.05.11
Príspevky: 141
Témy: 36
Bydlisko: 127.0.0.1
Príspevok Napísal autor témyOffline : 07.01.2008 15:23

hmm ale mne sa moc nechce prechádzať tým zoznamom :(







_________________
It easier to run away
Offline

Užívateľ
Užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 01.09.07
Prihlásený: 18.05.11
Príspevky: 141
Témy: 36
Bydlisko: 127.0.0.1
Príspevok Napísal autor témyOffline : 07.01.2008 15:34

našiel som niečo http://sk.php.net/manual/sk/function.im ... esized.php avšak neviem či je to ono - keď hej, tak mam dať príkaz (ktoré parametre sú povinné, ktoré nie, ktoré čo znamenajú ...)







_________________
It easier to run away
Offline

Užívateľ
Užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 29.12.05
Prihlásený: 14.08.18
Príspevky: 539
Témy: 62
Bydlisko: 127.0.0.1 (...
Príspevok NapísalOffline : 07.01.2008 16:04

hodim sem v bodoch postup a len funkcie k tomu

1.najprv si musis nacitat samotny obrazok kt. ces spracovat:
Kód:
ImageCreateFromGif
ImageCreateFromJpeg
ImageCreateFromPng

2. potom z neho vyberes sirku a vysku
Kód:
ImageSX
ImageSY

3. ziskane velkosti spracujes na mensie(matematicke ukony)
4. nastavis platno
Kód:
imagecreatetruecolor

5. nastavis farby pozadia
Kód:
imagecolorallocate

6. vyplnis platno farbou
Kód:
imagefill

7. spracujes samotny obrazok
Kód:
ImageCopyResized

8. ulozis obrazok
Kód:
imagejpeg
imagegif
imagepng

9. vymazes obrazok z pameti
Kód:
imagedestroy


samozrejme ze toto je len pre jeden obrazok
ked chces ulozit vecsi bez uprav staci len move_uploaded_file, alebo pokial chces spracovat aj mensi aj vecsi treba kazdu funckiu dat 2x pre kazdy

tento navod je len to najjednoduhsie a niektore fukcie sa daju zapisat aj inymi funkciami







_________________
"Kde končí hiphop, začína IQ."
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.06.07
Prihlásený: 27.12.11
Príspevky: 72
Témy: 13
Príspevok NapísalOffline : 07.01.2008 19:07

qacer píše:
hodim sem v bodoch postup a len funkcie k tomu

1.najprv si musis nacitat samotny obrazok kt. ces spracovat:
Kód:
ImageCreateFromGif
ImageCreateFromJpeg
ImageCreateFromPng

2. potom z neho vyberes sirku a vysku
Kód:
ImageSX
ImageSY

3. ziskane velkosti spracujes na mensie(matematicke ukony)
4. nastavis platno
Kód:
imagecreatetruecolor

5. nastavis farby pozadia
Kód:
imagecolorallocate

6. vyplnis platno farbou
Kód:
imagefill

7. spracujes samotny obrazok
Kód:
ImageCopyResized

8. ulozis obrazok
Kód:
imagejpeg
imagegif
imagepng

9. vymazes obrazok z pameti
Kód:
imagedestroy


samozrejme ze toto je len pre jeden obrazok
ked chces ulozit vecsi bez uprav staci len move_uploaded_file, alebo pokial chces spracovat aj mensi aj vecsi treba kazdu funckiu dat 2x pre kazdy

tento navod je len to najjednoduhsie a niektore fukcie sa daju zapisat aj inymi funkciami

pekna praca aj ja to asi vyuzijem :) casom :) diky aj za mna


Offline

Užívateľ
Užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 24.02.07
Prihlásený: 24.08.09
Príspevky: 146
Témy: 31
Bydlisko: Martin
Príspevok NapísalOffline : 07.01.2008 21:01

na zmensenie obr. tolko krokov? wow :-))


Offline

Užívateľ
Užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 29.12.05
Prihlásený: 14.08.18
Príspevky: 539
Témy: 62
Bydlisko: 127.0.0.1 (...
Príspevok NapísalOffline : 07.01.2008 21:58

jj...ja skript kt. vyuzivam bez vsetkych zbytocnosti ma 130 riadkov(som sa s nim sral asi 2 dni kym som prisiel na spravnu kombinaciu :lol: ) a najdlhsi je bod 3: urcenie velkosti pomocou matematickych prikazov
ale v tom skripte mam pevne definovanu sirku aj vysku mensieho obrazku, vytvorim platno o tej velkosti a zmenseny obrazok vkladam do neho v spravnom pomere do stredu a zvysok vyplnim nejakou farbou

Da sa to robit aj ze vytvori zmenseny obrazok priamo so spravnymi pomermi stran, ale to sa nehodi pri fotogaleriach, kde by mali byt zmenseniny v rovnakej velkosti a po kliknuti sa zobrazi velky obrazok (tak pouzivam ten prvy postup) :rolleyes:







_________________
"Kde končí hiphop, začína IQ."
Offline

Užívateľ
Užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok NapísalOffline : 08.01.2008 12:24

Ja to mam riesene takto:
Kód:
$KamUlozit = "obrazky/$subor; //cesta, kam zmenseny subor ulozit
   $NovaSirka = 65; //maximalna sirka zmenseneho obrazku
   $NovaVyska = 60;  //maximalna vyska zmenseneho obrazku
{ //zistime povodnu velkost obrazku
list($sirka, $vyska) = getimagesize($subor);

$image_p = imagecreatetruecolor($NovaSirka, $NovaVyska);
//otvorenie povodneho obrazku zo suboru
$image = imagecreatefromjpeg($subor);
//okopirujeme zmenseny obrazok do povodneho

imagecopyresampled($image_p, $image, 0, 0, 0, 0, $NovaSirka, $NovaVyska, $sirka, $vyska);

//a ulozime
imagejpeg($image_p, $KamUlozit, 70); //to cislo 70 urcuje kvalitu, v akej sa ma obrazok ulozit
}


Cize z velkeho obrazku ti spravi miniaturu, ktoru ti ulozi do adresara na serveri a stadial to uz zobrazis
Kód:
<img src="<?echo $KamUlozit;?>"


Mne zmensuje obrazok ktory vkladam do databazy, ale tu som to trochu prerobil, aby si nemusel pouzivat MySQL. Vid priklad vyuzitia tohto scriptu na http://www.metalcovers.ic.cz Hned na uvodnej stranke tie 3 miniatury.


Offline

Skúsený užívateľ
Skúsený užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 08.01.2008 13:54

Citácia:
hmm ale mne sa moc nechce prechádzať tým zoznamom :(

Hmmmmm, ale mne sa moc nechce ti radiť :( :( :(

Aké z toho plynie ponaučenie? Nabudúce budeš usilovnejší (lebo ti už fakt neporadím a poviem adminovi nech ťa vyhodí ;) ).

Môj kód:
Kód:
// --------- ULOZIME ARCHIV
if ($_FILES['f_zip']['name'] == '') {
   exit();
}

 
  $file = my_jpg_image_name($_FILES['f_zip']['name']);
  $ciel="../pic_temp/".$file;
   
  move_uploaded_file($_FILES['f_zip']['tmp_name'], $ciel) or die ("Smrt kapitalizmu! (subor sa nepodarilo ulozit na server)");
  // vytvor zmenseninu
  // Get new dimensions
  list($width, $height) = getimagesize($ciel);
 
  // velke foto
  if ($width > FOTO_GAL_X) {
    $new_width = FOTO_GAL_X;
    $new_height = ceil(FOTO_GAL_X * $height / $width);
    // Resample
    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefromjpeg($ciel);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    $new_nahlad = "../pic_fotky/".$file;
    // Output
    imagejpeg($image_p, $new_nahlad, PART_QUAL);
  }
  // nahlad 
  $x_const = FOTO_THUMB_X;
  $y_const = FOTO_THUMB_Y;
  if($width > $x_const || $height > $y_const){ // ak je aspon jeden rozmer vascsi, ideme menit obr.
    // nastav spravne nove rozmery
    if ($width > $x_const && $height > $y_const) {
       if ($height > $width){
         $new_width = $y_const * $width / $height;
         $new_height = $y_const;
      } else { // na sirku
         $new_width = $x_const;
         $new_height = $x_const * $height / $width;
      }
    } elseif ($width > $x_const && $height <= $y_const) {
      $new_width = $x_const;
      $new_height = $x_const * $height / $width;
    } elseif ($width <= $x_const && $height > $y_const) {
      $new_width = $y_const * $width / $height;
      $new_height = $y_const;
    }
    // nove rozmery nastavene
    // Resample
    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefromjpeg($ciel);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    $new_nahlad = "../pic_nahlady/".$file;
    // Output
    imagejpeg($image_p, $new_nahlad, PART_QUAL);
  } else {
    copy($ciel, "../pic_nahlady/".$file);
  }
  unlink($ciel);
  // uloz do databazy
  $result = mysql_query("BLA BLA nejaky SQL prikaz");
  if ($result) {
    echo "Nech zije socialisticky tabor (fotka uspesne ulozena)!";
    exit();
  }   

Je to trochu oklieštené, pôvodná verzia ešte rozbaľuje ZIP súbor plný JPEG obrázkov a všetky ich zmenšuje (ale používa pri tom neštandardnú knižnicu).

Robí ukladanie obrázkov v 2 vrstvách - pre náhľad a pre zobrazenie na stránke. Do konštánt FOTO_GAL_X, FOTO_THUMB_X, FOTO_THUMB_Y, PART_QUAL definuj hodnoty (v poradí) "šírka fotky na stránke", "šírka náhľadu", "výška náhľadu", "JPEG kvalita (od 0 do 100, odporúčam nad 70, je to tuším nepovinný parameter s východziou hodnotou 75)".







_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.02.07
Prihlásený: 26.01.15
Príspevky: 257
Témy: 20
Príspevok NapísalOffline : 08.01.2008 14:06

p360t -> velmi pekne, dal si mi do hlavy celkom fajn myslienku a preto sa Ta chcem spytat (ja viam ako na zmensenie obrazkov atd.), ale aku kniznicu pouzivas na to zipko a ako to presne pracuje?
Heh, mam jednoduchu fotogaleriu na webe, moju vlastnu aj s jednoduchym adminom, kde sa daju uploadovat fotky, manazovat ich nazvy, popisy atd., ktore sa potom zmensuju a robi sa este aj thumbnail z nich, ale uploadujem vzdy len po 4 fotky, kvoli pomalemu uploadu mojho internetu. Robil som to pre moju drahu, keby to bolo pre mna, nahadzem na web cez ftp, urobim update databazy atd.
No myslienka s tym zipkom by mi celkom bodla, keby som to rozchodil tak by sa mozno vyriesilo tym velmi vela problemov.
Cez ftp nahodit na server zipko a v adminovi ho uz potom manazovat.
Dik...


Offline

Skúsený užívateľ
Skúsený užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 08.01.2008 14:19

So Zipkom je to totiž tak - niekto ho na hostingu má, niekto nemá. Niekto má admina hostingu ochotného, niekto neochotného. Niekto má na svojom hostingu veľké práva, niekto malé. Vyber si vždy tú horšiu možnosť a dostaneš hosting, na ktorom som toto zipko realizoval.

Tak som sa jedného krásneho rána poobzeral po internete, a zistil som, že rovnaký problém majú aj iní ľudia. A tiež, že to už niekto takmer spoľahlivo vyriešil.

Takže, stránka http://www.phpconcept.net knižnica PCLZIP, naštuduj a už ti to bude jasné (to isté ako v tomto mojom kóde sa robí pre každý JPEG súbor ktorý tá knižnica rozozná, naviac ak nahrávaš len jeden JPEG súbor, spracuje sa len ako jeden súbor - tj. rozoznáva sa typ nahrávaného súboru).

Opakujem, toto je neštandardné riešenie v prípade, že nemáš originálnu PHPčkovskú ZIP knižnicu a nemáš možnosť ju na hosting nainštalovať.







_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4
Príspevok NapísalOffline : 08.01.2008 14:35

Hned na zaciatok podotykam, ze nie som odporcom PHP;

Ja pouzivam .NET a C# na servri, a tam nie je problem mat nainstalovanu akukolvek kniznicu. Zmensovanie obrazkov (presnejsie prekonvertovanie do akehokolvek formatu a zmena rozmerov) je potom v C# jednoduche.


Offline

Užívateľ
Užívateľ
Generovanie zmenseniny obrazku

Registrovaný: 02.07.06
Prihlásený: 30.01.20
Príspevky: 1635
Témy: 137
Bydlisko: Slovakia - ...
Príspevok NapísalOffline : 08.01.2008 17:18

sento píše:
Hned na zaciatok podotykam, ze nie som odporcom PHP;

Ja pouzivam .NET a C# na servri, a tam nie je problem mat nainstalovanu akukolvek kniznicu. Zmensovanie obrazkov (presnejsie prekonvertovanie do akehokolvek formatu a zmena rozmerov) je potom v C# jednoduche.


ok nie si odporcnom PHP, ale co si tym chcel vlastne povedat? na PHP to tiez nie je problem tiez ak mas dobry host, resp. mas vlastny host, :)







_________________
Zivot je jednoduchy , staci sa rozhodnut a neobzerat sa spat. Poriadok je pre blbcov, inteligent zvlada chaos.
Odpovedať na tému [ Príspevkov: 16 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Generovanie ...

v Ostatné

5

922

30.10.2006 22:14

javo Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. Generovanie diplomu

v PHP, ASP

8

729

12.05.2012 13:59

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Generovanie kódu

v HTML, XHTML, XML, CSS

9

605

10.02.2011 21:25

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Generovanie databazy

v PHP, ASP

2

732

23.02.2007 8:25

mokus Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. generovanie stranok

v PHP, ASP

4

536

04.01.2011 13:22

benqo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Generovanie PDF

v PHP, ASP

1

574

16.04.2011 8:41

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. generovanie url

v PHP, ASP

7

578

30.03.2012 23:04

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. generovanie PDF

v PHP, ASP

20

1928

05.05.2010 13:18

Antuanet Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Generovanie cisel

v PHP, ASP

5

920

06.02.2010 17:44

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Generovanie xml

v PHP, ASP

2

594

06.11.2010 9:57

NikonD5000 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. TCPDF generovanie PDF

v PHP, ASP

8

653

18.08.2011 14:52

emer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Generovanie IP adresy

v Služby a webstránky

10

1518

19.02.2014 11:33

DJRoccoiNc Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Generovanie PDF - FPDF

v PHP, ASP

6

477

14.01.2013 20:22

xxx9955 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Náhodné generovanie slovíčok

v Ostatné programy

1

334

13.05.2012 16:31

KocuR Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP generovanie XML

v PHP, ASP

4

845

12.04.2011 14:22

general667 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Generovanie podla Rozlisenia

v PHP, ASP

2

457

06.05.2009 11:03

Flety Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra