[ 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 | 36
Bydlisko: 127.0.0.1
NapísalOffline : 07.01.2008 13:55 | Generovanie zmenseniny obrazku

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: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 07.01.2008 14:35 | Generovanie zmenseniny obrazku

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 | 36
Bydlisko: 127.0.0.1
Napísal autor témyOffline : 07.01.2008 14:44 | Generovanie zmenseniny obrazku

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: 1757
Témy: 17 | 17
NapísalOffline : 07.01.2008 15:15 | Generovanie zmenseniny obrazku

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 | 36
Bydlisko: 127.0.0.1
Napísal autor témyOffline : 07.01.2008 15:23 | Generovanie zmenseniny obrazku

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 | 36
Bydlisko: 127.0.0.1
Napísal autor témyOffline : 07.01.2008 15:34 | Generovanie zmenseniny obrazku

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ý: 19.10.14
Príspevky: 539
Témy: 62 | 62
Bydlisko: 127.0.0.1 (...
NapísalOffline : 07.01.2008 16:04 | Generovanie zmenseniny obrazku

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 | 13
NapísalOffline : 07.01.2008 19:07 | Generovanie zmenseniny obrazku

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 | 31
Bydlisko: Martin
NapísalOffline : 07.01.2008 21:01 | Generovanie zmenseniny obrazku

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


Offline

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

Registrovaný: 29.12.05
Prihlásený: 19.10.14
Príspevky: 539
Témy: 62 | 62
Bydlisko: 127.0.0.1 (...
NapísalOffline : 07.01.2008 21:58 | Generovanie zmenseniny obrazku

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ý: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
NapísalOffline : 08.01.2008 12:24 | Generovanie zmenseniny obrazku

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: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 08.01.2008 13:54 | Generovanie zmenseniny obrazku

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 | 20
NapísalOffline : 08.01.2008 14:06 | Generovanie zmenseniny obrazku

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: 1772
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 08.01.2008 14:19 | Generovanie zmenseniny obrazku

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 | 4
NapísalOffline : 08.01.2008 14:35 | Generovanie zmenseniny obrazku

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ý: 18.08.14
Príspevky: 1696
Témy: 137 | 137
Bydlisko: Slovakia - ...
NapísalOffline : 08.01.2008 17:18 | Generovanie zmenseniny obrazku

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.
 [ Príspevkov: 16 ] 


Generovanie zmenseniny obrazku



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

685

30.10.2006 22:14

javo

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

generovanie PDF

v PHP, ASP

20

1500

05.05.2010 13:18

Antuanet

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

Generovanie cisel

v PHP, ASP

5

618

06.02.2010 17:44

Ďuri

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

Generovanie xml

v PHP, ASP

2

324

06.11.2010 9:57

NikonD5000

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

Generovanie diplomu

v PHP, ASP

8

504

12.05.2012 13:59

shaggy

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

Generovanie kódu

v HTML, XHTML, XML, CSS

9

348

10.02.2011 21:25

walther

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

Generovanie databazy

v PHP, ASP

2

513

23.02.2007 8:25

mokus

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

generovanie stranok

v PHP, ASP

4

336

04.01.2011 13:22

benqo

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

Generovanie PDF

v PHP, ASP

1

304

16.04.2011 8:41

stenley

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

generovanie url

v PHP, ASP

7

305

30.03.2012 23:04

shaggy

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

Generovanie podla Rozlisenia

v PHP, ASP

2

292

06.05.2009 11:03

Flety

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

TCPDF generovanie PDF

v PHP, ASP

8

465

18.08.2011 14:52

emer

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

Generovanie IP adresy

v Služby a webstránky

10

935

19.02.2014 11:33

DJRoccoiNc

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

Generovanie PDF - FPDF

v PHP, ASP

6

240

14.01.2013 20:22

xxx9955

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

Náhodné generovanie slovíčok

v Ostatné programy

1

185

13.05.2012 16:31

KocuR

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

PHP generovanie XML

v PHP, ASP

4

650

12.04.2011 14:22

general667



© 2005 - 2017 PCforum, edited by JanoF