Jump to content
php.lv forumi

image upload and show


renathy

Recommended Posts

Lietotājs uploado JPG bildīti.

Man šī bilde jāpārāda

- thumbnail izmērā (teiksim 150 x 150),

- normalsize izmērā, kas ir 640 x XXX

- fullsize - pilnā izmērā, kas ir tik liela kādu lietotājs ir ielādējis (protams, ir max ierobežojums).

 

Nepieciešams, lai bildes būtu pieteikami labas kvalitātes, jo tās tiek vērtētas.

 

Vai pareiza doma - ka pie bildes ielādes es pati resizeoju ielādēto bildi un uz servera saglabāju trīs dažādas bildītes - attiecīgi priekš thumbnails, normal un full_size. Vai nebūtu pareizāk teiksim normal size bildi tomēr neglabāt uz servra, bet gan veidot pa ceļam, kad nepieciešams šo bildi rādīt? (man liekas, ka nepareizi).

 

Un vēl - kādi ieteikumi par resize skriptu, varbūts kāds links vai nosaukums skriptam/saspiešanai, kam nav daudz zudumu?

 

R.

Link to comment
Share on other sites

Jaa - pienjeemums ir pareizs. Vieniigais, ja bilde ieksh normal size tiek raadiita reti, tad vari arii samazinaat to on-the-fly. Bet nu taa kaa diska vietas muusdienaas ir lielas, tad nedomaaju, ka buutu probleemas arii to pieglabaat :)

 

Un ko tur daudz ar skriptiem njemties - spied TE un ej tam visam cauri :)

Link to comment
Share on other sites

labā prakse (imho):

1) visas bildes uzģenerē pievienošanas brīdī

2) bildes glabā kā failus folderos, nevis tabulās

3) bildes resaizo ar imagecopyresampled()

4) un iesaku jpg bildes iekš php seivot ar kvalitāti 95%

Edited by 2easy
Link to comment
Share on other sites

Vēl neizpētīju tās funkcijas, bet vienalga - kāda ziņā 95% kvalitāti?

Tas attiecas uz visām trim bildēm (arī fullsize) vai arī uz tām divām, un ja uz visām - kādēļ būtu jāsamazina uz 95%?

 

R.

Funkcija imagejpeg

Description

bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )

 

imagejpeg() creates a JPEG file from the given image .

Link to comment
Share on other sites

Tad idejiski apmēram šādi sanāk:

 

// ielādē bildi
$img = imagecreatefromjpeg($source);

// nosaka kādus izmērus vajaga
$newwidth
$newheight

// tmp
$tmpimg = imagecreatetruecolor( $newwidth, $newheight );

// izveido jaunu bildi
imagecopyresampled( $tmpimg, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height );

// saglabā jaunā failā
imagejpeg( $tmpimg, $target, $quality); //$quality ->>> 95%?



Link to comment
Share on other sites

95% ir ļoti laba kvalitātes/izmēra attiecība. kvalitāte ir gandrīz kā 100%, taču faila izmērs ir 2x mazāks. savukārt zem 95% kvalitāte strauji paliek sūdīga, taču bildes izmērs tik strauji vairs nesamazinās. apsvērums ir tāds: tā kā vietas uz diska ir daudz un interneta ātrumi arī mūsdienās ir normāli, tad standarta situācijā nav vērts baigi taupīt katru baitu, bet labāk uzreiz lietot labu bildes kvalitāti. tāpēc izvēlas tādu %, lai kvalitāte būtu pietiekami laba un kvalitātes pieaugums būtu relatīvi lielāks par faila izmēra pieaugumu

 

oo, bezmaz zinātnisks pamatojums sanāca! :D:D:D

Edited by 2easy
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...