PHP class
7 отговора
168 прегледа
PHP class
namerih edin class na PHP, kojto mi trqbwa za da mi namlqwa razmera na kartinki sled kato se uploadwat , samo 4e iskam da znam kak moga da go izpolzwam tozi class fajl .
class faila mi se kazwa "class.img2thumb.inc"
qsno 6te go includna vuv fajla kudeto 6te imam obru6tenie kym nego, no
kude trabwa da go dobawa i sled towa kak da go izpolzwam
v nqkoq dierektoriq na PHP li trqbwa da e ili moje da e v nqkoq ot potrebitlskite mi direktorii
class faila mi se kazwa "class.img2thumb.inc"
qsno 6te go includna vuv fajla kudeto 6te imam obru6tenie kym nego, no
kude trabwa da go dobawa i sled towa kak da go izpolzwam
v nqkoq dierektoriq na PHP li trqbwa da e ili moje da e v nqkoq ot potrebitlskite mi direktorii
Re: PHP class
eto kak mi e dadeno 4e trabwa da go izpolzwam sled kato imam nqkqkyv JPG primerno i kato go vizualiziram po sledniq na4in:
<img src="prodava/userpic/<?php echo 'image.php?file='.$m[3[1].'&x=110&y=70';?>" width="110" height="70" border="0">
-------------------
//image.php
<?php
error_reporting(E_ALL);
include 'imoti/class.img2thumb.inc';
$neu = new Img2Thumb($file,$x,$y);
?>
po tozi na4in kartinkata e sus zadadenite razmeri po X i po Y, no razmera i v KB ne e dejstwitelniqt , s cel ako ima mnogo takiwa obeti da se zarejda byrzo stranicata, i ako kartinkata e vruzka sled kato se 6rakne nq neq da se poqwi w dejstwitelniqt razmer
Ta iskam da popitam tozi class file "class.img2thumb.inc" , kude trqbwa da go sloja i po kakyv na4in
<img src="prodava/userpic/<?php echo 'image.php?file='.$m[3[1].'&x=110&y=70';?>" width="110" height="70" border="0">
-------------------
//image.php
<?php
error_reporting(E_ALL);
include 'imoti/class.img2thumb.inc';
$neu = new Img2Thumb($file,$x,$y);
?>
po tozi na4in kartinkata e sus zadadenite razmeri po X i po Y, no razmera i v KB ne e dejstwitelniqt , s cel ako ima mnogo takiwa obeti da se zarejda byrzo stranicata, i ako kartinkata e vruzka sled kato se 6rakne nq neq da se poqwi w dejstwitelniqt razmer
Ta iskam da popitam tozi class file "class.img2thumb.inc" , kude trqbwa da go sloja i po kakyv na4in
Re: PHP class
Уф, съкровище!
То вярно, че немецът е забравил да напише как става номерът, но то се вижда и така.
Значи принципно заедно със inc файла има и още два, нали?
ако не кажи ми да ти ги пратя, въпреки че не са ти необходими.
Значи във твоят html/php файл, в който ще се показва тумбнаил-а, пишеш нещо от рода на:
<img src="show_image_in_imgtag.php?filename=test.jpg&newxsize=80&newysize=80" border="0" >
filename - това ти е името на картинка с оригинална големина
newxsize и newysize - това са ти размерите на тумбнаил-а.
border - qsno e
show_image_in_imgtag.php - името на PHP файла, който ще ти обработва картинката. Какво има в него ли? ами ето това:
<?php
// Image2Thumbnail - Klasse einbinden - демек: вмъкване на класа във файла
include("class.img2thumb.inc");
// neues Objekt anlegen - демек - създаване на нов Обект
$neu = new Img2Thumb($filename,$newxsize,$newysize,$fileout);
?>
Забележи как е зададен обекта:
Img2Thumb - Името му!!! Винаги е такова
$filename - името на картинката....това го задаваш в началният html/php файл, при img таг-а
същото важи и за останалите $newxsize и $newysize
За какво се исползва $fileout можеш да поразгледаш по-подробно твоят img2thumb клас.
Надявам се това да ти свърши работа. Аз лично току що за пръв път чух за този клас и първо трябваше да го потърса в нет-а за да знам за какво става въпрос, защото това, което ти си написал нищо не ми говореше ;)
Айде със здраве и дерзай! ;)
Мира
PS. Междудругото, ако класът който имаш е същият като този, който намерих , то картинките могат да бъдат само jpg или png
То вярно, че немецът е забравил да напише как става номерът, но то се вижда и така.
Значи принципно заедно със inc файла има и още два, нали?
ако не кажи ми да ти ги пратя, въпреки че не са ти необходими.
Значи във твоят html/php файл, в който ще се показва тумбнаил-а, пишеш нещо от рода на:
<img src="show_image_in_imgtag.php?filename=test.jpg&newxsize=80&newysize=80" border="0" >
filename - това ти е името на картинка с оригинална големина
newxsize и newysize - това са ти размерите на тумбнаил-а.
border - qsno e
show_image_in_imgtag.php - името на PHP файла, който ще ти обработва картинката. Какво има в него ли? ами ето това:
<?php
// Image2Thumbnail - Klasse einbinden - демек: вмъкване на класа във файла
include("class.img2thumb.inc");
// neues Objekt anlegen - демек - създаване на нов Обект
$neu = new Img2Thumb($filename,$newxsize,$newysize,$fileout);
?>
Забележи как е зададен обекта:
Img2Thumb - Името му!!! Винаги е такова
$filename - името на картинката....това го задаваш в началният html/php файл, при img таг-а
същото важи и за останалите $newxsize и $newysize
За какво се исползва $fileout можеш да поразгледаш по-подробно твоят img2thumb клас.
Надявам се това да ти свърши работа. Аз лично току що за пръв път чух за този клас и първо трябваше да го потърса в нет-а за да знам за какво става въпрос, защото това, което ти си написал нищо не ми говореше ;)
Айде със здраве и дерзай! ;)
Мира
PS. Междудругото, ако класът който имаш е същият като този, който намерих , то картинките могат да бъдат само jpg или png
Редактирано от Yoro на
Re: PHP class
Ok no ne mojah da razbera classa "inc" faila ima li zna4enie kude 6te go sloja, dali v direktoriqta na php ili v koqto i da e direktoriq, ili v nqkoq to4no opredelena direktoriq
Re: PHP class
Vsi4ko e OK.
Usopqh da go podkaram daje rezultate e vpe4atlqwasht probwah JPG kojto w 300 K i stana 5 K, razbira se ka4estwoto mu ne be6e dobro.
Ima li nqkakyv variant da se butne ne6to v class-a i da se regulira kompresiqta, tq samo ot razmera po X i Y koito se predawat kato parametyr li se opredelq v slu4aq
Usopqh da go podkaram daje rezultate e vpe4atlqwasht probwah JPG kojto w 300 K i stana 5 K, razbira se ka4estwoto mu ne be6e dobro.
Ima li nqkakyv variant da se butne ne6to v class-a i da se regulira kompresiqta, tq samo ot razmera po X i Y koito se predawat kato parametyr li se opredelq v slu4aq
Re: PHP class
извинявай
въпросът ти по отношение на директорията, явно съм го пропуснала някъде докато се опитвах да разбера как работи скрипта
първо: от GD и изобщо работата на РНР с графики почти нищо не разбирам ;) Единственият ми опит беше с upload. ;)
второ: след разглезждане на функциите на класа стигнах до извода, че това, което явно е отговорно за качеството на новата картинка (добре би било да покажеш как е оригинал и как е Thumbnail) е този ред във function NewImgResize($orig_img,$newxsize,$newysize,$filename)
ImageCopyResampled($im_out, $orig_img, 0, 0, 0, 0, $newxsize, $newysize,$orig_size[0], $orig_size[1]);
Това ти преиначава картинката до съответните размери. (Поне така разбирам обясненията в Reference Manual-a на РНР).
Явно това е и "виновника".
Цялата функция излежда така:
$orig_size = getimagesize($filename);
if ($orig_size[0]<$orig_size[1]){
$newxsize = $newysize * ($orig_size[0]/$orig_size[1]);
}
else{
$newysize = $newxsize / ($orig_size[0]/$orig_size[1]);
}
$im_out = ImageCreateTrueColor($newxsize,$newysize);
ImageCopyResampled($im_out, $orig_img, 0, 0, 0, 0, $newxsize, $newysize,$orig_size[0], $orig_size[1]);
return $im_out;
Някой да има идеи?
и в отговор на въпросът ти: явно се определя от X и Y и от оригиналните размери на картинката как ще изглежда полученият Thumbnail.
въпросът ти по отношение на директорията, явно съм го пропуснала някъде докато се опитвах да разбера как работи скрипта
първо: от GD и изобщо работата на РНР с графики почти нищо не разбирам ;) Единственият ми опит беше с upload. ;)
второ: след разглезждане на функциите на класа стигнах до извода, че това, което явно е отговорно за качеството на новата картинка (добре би било да покажеш как е оригинал и как е Thumbnail) е този ред във function NewImgResize($orig_img,$newxsize,$newysize,$filename)
ImageCopyResampled($im_out, $orig_img, 0, 0, 0, 0, $newxsize, $newysize,$orig_size[0], $orig_size[1]);
Това ти преиначава картинката до съответните размери. (Поне така разбирам обясненията в Reference Manual-a на РНР).
Явно това е и "виновника".
Цялата функция излежда така:
$orig_size = getimagesize($filename);
if ($orig_size[0]<$orig_size[1]){
$newxsize = $newysize * ($orig_size[0]/$orig_size[1]);
}
else{
$newysize = $newxsize / ($orig_size[0]/$orig_size[1]);
}
$im_out = ImageCreateTrueColor($newxsize,$newysize);
ImageCopyResampled($im_out, $orig_img, 0, 0, 0, 0, $newxsize, $newysize,$orig_size[0], $orig_size[1]);
return $im_out;
Някой да има идеи?
и в отговор на въпросът ти: явно се определя от X и Y и от оригиналните размери на картинката как ще изглежда полученият Thumbnail.
Re: мъка
как успяваш да се тормозиш толкова време над няколко дузини реда код та пак и клас си намерил. ако прочетеш PHP функции за Image ще видиш че можеш да управляваш компресиата като параметър в ImageJpeg, както и ако имаш навик да четеш узвер комментс та да си вземеш малко акъл четейки за imageresamplebicubic i za passthrow.
-----------------------
гърбавия ковчег ще го изправи
-----------------------
гърбавия ковчег ще го изправи
Re: мъка
a be to nali triabva malko trud da se polozi -> RTFM , posle proba
nai lesno e da pla4e6 po forumite i da iska6 niakoi da ti go kaze ili napravi
E tuk ni6to niama :[линк]
nai lesno e da pla4e6 po forumite i da iska6 niakoi da ti go kaze ili napravi
E tuk ni6to niama :[линк]