phpRS help fórum : phpRS Fórum
Hlavní diskuzní phpRS fórum. Najdete zde odpovědi na otázky týkající se provozu a instalace phpRS systému.
phpRS - redakční a informační systém
Špatná kvalita náhledů přes GD 2
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2011-06-29, 21:59

Zdravím všechny,

předem chci všem poděkovat za všechny rady, které se mi zde kdy dostalo.

Teď řeším malinko věc která sice úplně nesouvisí s phprs, ale každopádně jede to na tomto systému, tak se ptám tady.

Upravil jsem si interní galerii, aby mi mohli do článku přidávat fotky i redaktoři, kteří se moc v úpravách nevyznají. Vyrobil jsem si skript, který z originální velké fotky udělá 4 různé náhledy, ale zde řeším problém s kvalitou fotek.
Dokud jsem dělal úpravu fotek já přes grafický editor, byly celkem ostré a např. při velikosti 492x276px dosahovaly maximálně 30kB. Když je však dělá skript s GD2 knihovnou, jsou jako kdyby rozmazané a jejich velikost je kolem 50-60kB. Musel jsem nechat kvalitu na 90%, proto ta velikost, aby to alespoň trochu vypadalo, ale i tak je to rozmazané.
Samozřejmě vím, že ručně v editoru je to lepší, ale pro některé redaktory je to složité, a proto jsem to chtěl udělat takto. Dlouhé hodiny jsem procházel internet, ale nenašel jsem nic, co by to vylepšilo.

Nevíte někdo, zda se to dá nějak vylepšit.

Díky moc za rady.

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Špatná kvalita náhledů přes GD 2
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-06-29, 22:09

Ahoj, GD vie sharpen filter, mrkni sem: [http://vikjavev.no/computing/ump.php]

Re: Špatná kvalita náhledů přes GD 2
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-06-29, 22:10

PS: pre podobné prípady je možné vytvoriť script na zmenšenie aj s doostrením napríklad aj v xnView, ale pohodlnejšie je to samozrejme priamo v php pri uploade.

Re: Špatná kvalita náhledů přes GD 2
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2011-06-29, 22:17

No, ono kdyby šlo o mě, tak já si to raději udělám v grafickém editoru, ale pro ostatní je to "komplikace" navíc, znáte to:-), proto to chci řešit tím uploadem.

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Špatná kvalita náhledů přes GD 2
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-06-29, 22:21


Re: Špatná kvalita náhledů přes GD 2
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2011-06-30, 22:03

Nevím co dělám špatně, ale nedaří se mi ta fukce UnsharpMask (z webu [http://vikjavev.no/computing/ump.php]) propojit s mým kódem.

Nevíte někdo kam jí správně napasovat? Přikládám část kódu aimggal.php kde se tvoří náhledy. Jsou tam celkově 4 náhledy.

Děkuji za rady

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Přílohy: aimggal-text.txt (17kB)  
Re: Špatná kvalita náhledů přes GD 2
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2011-10-21, 11:17

Zkoušel jsem tohle, ale nefunguje to jak má, nevíte si někdo radu, kde dělám chybku:

Do aimggal.php jsem přidal include_once('unsharp_mask.php') ze stránky [http://vikjavev.no/computing/ump.php]

a pak jsem volání fukci UnsharpMask umístil zde (červeně):

// generovani nahledut
if ($generovat_nahled==1):
// priprava obr.
if($sb_info_novy_sirka>$sb_info_novy_vyska): $prpodilobrt=$sb_info_novy_sirka/$sb_info_novy_vyska; endif;
if($sb_info_novy_sirka<$sb_info_novy_vyska): $prpodilobrt=$sb_info_novy_vyska/$sb_info_novy_sirka; endif;
if($sb_info_novy_sirka==$sb_info_novy_vyska): $prpodilobrt=1; endif;
// doupraveni rozmeru nahledut pohled sirky, vysky real. obr.
if($sb_info_novy_sirka>$sb_info_novy_vyska):
$nahledt_sirka=$GLOBALS['rsconfig']['img_nahledt_sirka2'];
$nahledt_vyska=round($GLOBALS['rsconfig']['img_nahledt_sirka2']/$prpodilobrt);
endif;
if($sb_info_novy_sirka<$sb_info_novy_vyska):
$nahledt_sirka=round($GLOBALS['rsconfig']['img_nahledt_vyska2']/$prpodilobrt);
$nahledt_vyska=$GLOBALS['rsconfig']['img_nahledt_vyska2'];
endif;
if($sb_info_novy_sirka==$sb_info_novy_vyska):
$nahledt_sirka=$GLOBALS['rsconfig']['img_nahledt_sirka2'];
$nahledt_vyska=$GLOBALS['rsconfig']['img_nahledt_vyska2'];
endif;
// tvorba nahledut
switch ($sb_info_novy_typ):
case 2: $probrzbrojt=ImageCreateFromJPEG($sb_info_novy_jmeno); break; // format jpg
case 3: $probrzbrojt=ImageCreateFromPNG($sb_info_novy_jmeno); break; // format png
endswitch;
// pro GD 1.x
/*
$probrcilt=ImageCreate($nahledt_sirka,$nahledt_vyska);
imagecopyresized($probrcilt,$probrzbrojt,0,0,0,0,$nahledt_sirka,$nahledt_vyska,$sb_info_novy_sirka,$sb_info_novy_vyska);
*/
// konec pro GD 1.x
// pro GD 2.x
$probrcilt=imagecreatetruecolor($nahledt_sirka,$nahledt_vyska);
//imagecopyresized($probrcilt,$probrzbrojt,0,0,0,0,$nahledt_sirka,$nahledt_vyska,$sb_info_novy_sirka,$sb_info_novy_vyska);
imagecopyresampled($probrcilt,$probrzbrojt,0,0,0,0,$nahledt_sirka,$nahledt_vyska,$sb_info_novy_sirka,$sb_info_novy_vyska); // lepsi vysledky nez: ImageCopyResized
// konec pro GD 2.x
switch ($sb_info_novy_typ):
case 2: ImageJPEG($probrcilt,$nahledt_jmeno,80); break; // format jpg
case 3: ImagePNG($probrcilt,$nahledt_jmeno); break; // format png
endswitch;
ImageDestroy($probrzbrojt);
ImageDestroy($probrcilt);
UnsharpMask($nahledt_jmeno, 25, 0.3, 0, 80);


else:
// nelze generovat nahledt
echo "<p align=\"center\" class=\"txt\">".RS_IGA_PO_ERR_NELZE_GENER_NAHLED."</p>\n";
endif;


A co to dělá nebo spíš nedělá:
Obrázek se normálně nahraje, ale neprovede se jeho zaostření a navíc to vypíše k textu obrázek se úspěšně nahrál tohle:
Warning: imagesx() expects parameter 1 to be resource, string given in .../admin/unsharp_mask.php on line 30 Warning: imagesy() expects parameter 1 to be resource, string given in .../admin/unsharp_mask.php on line 30 Warning: imagecreatetruecolor(): Invalid image dimensions in .../admin/unsharp_mask.php on line 31 Warning: imagecreatetruecolor(): Invalid image dimensions in .../admin/unsharp_mask.php on line 32 Warning: imagecopy() expects parameter 1 to be resource, boolean given in .../admin/unsharp_mask.php on line 50 Warning: imageconvolution() expects parameter 1 to be resource, boolean given in .../admin/unsharp_mask.php on line 51 Warning: imagedestroy() expects parameter 1 to be resource, boolean given in .../admin/unsharp_mask.php on line 134 Warning: imagedestroy() expects parameter 1 to be resource, boolean given in .../admin/unsharp_mask.php on line 135

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Špatná kvalita náhledů přes GD 2
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-10-21, 12:10

$probrcilt=imagecreatetruecolor($nahledt_sirka,$nahledt_vyska);
//imagecopyresized($probrcilt,$probrzbrojt,0,0,0,0,$nahledt_sirka,$nahledt_vyska,$sb_info_novy_sirka,$sb_info_novy_vyska);
imagecopyresampled($probrcilt,$probrzbrojt,0,0,0,0,$nahledt_sirka,$nahledt_vyska,$sb_info_novy_sirka,$sb_info_novy_vyska); // lepsi vysledky nez: ImageCopyResized

UnsharpMask($probrcilt, 25, 0.3, 0, 80);

// konec pro GD 2.x
switch ($sb_info_novy_typ):
case 2: ImageJPEG($probrcilt,$nahledt_jmeno,80); break; // format jpg
case 3: ImagePNG($probrcilt,$nahledt_jmeno); break; // format png
endswitch;
ImageDestroy($probrzbrojt);
ImageDestroy($probrcilt);


ide o to, že funkcia očakáva na vstupe image resource identifier a nie cestu k obrázku.

Re: Špatná kvalita náhledů přes GD 2
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2011-10-21, 12:18

prípadne ak by to nefungovalo skús ešte takto:
$probrcilt = UnsharpMask($probrcilt, 25, 0.3, 0, 80);

Re: Špatná kvalita náhledů přes GD 2
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2011-10-21, 12:28

MOOOckrát děkuji,

hned vyzkouším, a když to bude fungovat, hosím tu celý skript, myslím, že určitě někomu taky pomůže.

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Špatná kvalita náhledů přes GD 2
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2011-10-21, 12:51

Tohle funguje, díky moc hodím zde soubor

$probrcilt=imagecreatetruecolor($nahledt_sirka,$nahledt_vyska);
//imagecopyresized($probrcilt,$probrzbrojt,0,0,0,0,$nahledt_sirka,$nahledt_vyska,$sb_info_novy_sirka,$sb_info_novy_vyska);
imagecopyresampled($probrcilt,$probrzbrojt,0,0,0,0,$nahledt_sirka,$nahledt_vyska,$sb_info_novy_sirka,$sb_info_novy_vyska); // lepsi vysledky nez: ImageCopyResized

UnsharpMask($probrcilt, 25, 0.3, 0, 80);

// konec pro GD 2.x
switch ($sb_info_novy_typ):
case 2: ImageJPEG($probrcilt,$nahledt_jmeno,80); break; // format jpg
case 3: ImagePNG($probrcilt,$nahledt_jmeno); break; // format png
endswitch;
ImageDestroy($probrzbrojt);
ImageDestroy($probrcilt);


LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.