Jump to content
php.lv forumi

bilžu samazināšana izmantojot GD2


hmnc

Recommended Posts

Sveiki!

saskāros ar nepieciešamību mazināt bildes. ir arī funkcija, kas to visu dara ļoti labi. bet šovakar izdomāju viņam uzrīdīt virsū taimeri un aplūrēt cik ta šis ilgi TO dara... un atklājums bēdīgs - skripts ar bildi to dara lēnām un sāpīgi :(

 

pati funkcija gaužām vienkārša.. šekur piemērs priekš jpg:

imagecreatefromjpeg();
imagecreatetruecolor();
imagecopyresampled();
imagejpeg();
ImageDestroy();

 

variabļus neliku iekšā - jēgas tāpat nav te postēties :)

 

tātad - varbūt lietpratēji izmanto ko labāku par šo kombināciju? lasījos par bicubic resample, bet cik dzirdēju atsauksmes, tad tas pats vien sanāk galu galā (ātruma ziņā). svarīga ir kvalitāte (lai nav graudaina/šķautņaina).

 

tas laikam arī viss :)

Link to comment
Share on other sites

hmnc--> shis arii ir viens no optimaalajiem risinaajumiem...

bildes uzticeet apstraadaat serverim tikai tad kad useris grib pievienot bildi,

visas bilzju izvades --> vieniigi gatavas bildes

(HDD ir krietni leetaaks par procesora darba % )

Edit: mjaa, bija man liidziigs risinaajums, pieliku timeri 1M bildi aptuveni 3 sek

protams uz citas mashiinas buus krietni atraak (nu paaraak nokrauts man tas kompis... ),

bet vienalga :(

edit 2 : hmm njaa man tachu tur tas skripts izveido 2 bildes ... tahsto orentejoshi 1, x sek uz bildi

Edited by Grey_Wolf
Link to comment
Share on other sites

neinu man jau arī stāv uz bilžu pievienošanu. lai taisītu thumbnailus on-fly jābūt īpaši perversam :D

 

tas mans on-fly teksts bija domāts par to, ka bilde tiek samazināta uzreiz pie uploada, nevis ar kādu batch jobu.

 

vienkārši man te uz lokālās miskastes bildes samazināšana (ap 800*800 uz 100*100) aizņem ~0.15 sekundes, kas salīdzinot ar kopējo skriptu izpildi ~0.007 - 0.02sec ir diezgan ilgs laiks.

Link to comment
Share on other sites

neinu 0.007 sec nereāli. bet nu kaut vai līdz 0.1 var izspiest?

vispār jau par tām sekundēm runāt ir nereāli - jāņem katra kaste atsevišķi.

es jau principā gribēju noskaidrot vai ir kāds ātrāks bilžu kvalitatīvas samazināšanas mehānisms par manis izmantoto :)

Link to comment
Share on other sites

hmnc--> diezvai ir kas labaaks :(

vieniigi noteikti ieliec paarbaudi vai bilde jau nav dotajos izmeeros, (vai neiekljaujaas)

un Baismu briidinaajumu useriem "Bildeem jaabuut ne leilaakaam kaa aa X bb" bus savi % kas pashi bildi pirms posteeshanas samazinaas, un tas kopumaa dos zinaamu atslodzi serverim --> nevajag jau arii vienmeer skatiities to sliktaako variantu ;)

P.S. es pats izmantoju liidziigu metodi, tik uzmeikoju veselu f-ju kas visu to dara automaataa :)

gan parbauda izmeru, gan to lai faila nosaukums buutu valiids. utt...

Link to comment
Share on other sites

nu viss jau ir kā vajag salikts. sarakstīta vesela klase ar advancētu bilžu manipulāciju, bet nu šitais iebremzēja.

 

vienkārši biju lasījis kaut kur, ka bicubic resamplošana esot ātrāka pie noteiktiem izmēriem.. bet tur tā bilde tjip gandrīz vai pa pikselim tiek pārzīmēta.. nu traģiski :D

Link to comment
Share on other sites

hmnc--> ko padariisi :(

taa bilde (ja Jpg) jaatpako

jaapaarekjina Visi pikselji & vinju kraasa un vel jaasapako atpakalj :(

neko dariit leeni tas notiek, pat pashi advanceetaakie bilzju editori to dara sameeraa leeni ...

var teikt ka 1 sek ir sameeraa labs raadiitaajs ...

 

P.S. pareekjini pats katra pikselja apstraadei vajag kaadas 10 - 100 procha operaacijas...

nolasiit no atminjas, saliidzinaat ar blakusesoshajiem & taalaakajiem, ierakstiit temp atminjaa, peec tam paraksta visu utt.. baismais aprekjinu kvantums :(

un neaizmirsti ka vel jau procis nodarbojas ar citaam lietaam ;)

seko liidzi portiem utt.. ja to visu dariitu tiiraa asambleraa tad tas varbuut iekljautos 0,07 sek ;)

Link to comment
Share on other sites

×
×
  • Create New...