类的使用demo:
<?<span php><span><span http:>
<span require_once> "roucheng.php"<span><span> = <span new><span gifresizer><span>->temp_dir = "keleyi"<span><span>->resize("keleyi.gif","keleyi_resized.gif",500,500<span>?></span></span></span></span></span></span></span></span></span></span></span></span>
类的源代码,保存为roucheng.php文件:
<span> <? <span> <span><span><span> <span><span> <span resizes animated gif files><span> <span><span> <span note: the script needs a temporary directory where all frames should be extracted.><span> <span create a directory with permission level and write the path into variable below.><span> <span><span> <span default directory is><span> <span> <span> <span> <span class><span gifresizer><span> <span> <span public> <span> = "frames"<span><span> <span private> <span> = 0<span><span> <span private> <span> = 0<span><span> <span private> <span> = <span array><span><span> <span private> <span> = <span array><span><span> <span private> <span> = <span array><span><span> <span private> <span> = 0<span><span> <span private> <span> = <span array><span><span> <span private> <span> = <span array><span><span> <span private> <span> = <span array><span><span> <span private> <span> = 0<span><span> <span private> <span> = 0<span><span> <span private> <span>,<span><span><span> <span private> <span> = <span array><span><span> <span private> <span> = <span false><span><span> <span> <span><span><span> <span public part of the class><span> <span><span> <span original file path><span> <span new filename with path><span> <span desired image width><span> <span desired image height><span> <span> <span> <span function> resize(<span>,<span>,<span>,<span><span><span> <span>->decode(<span><span><span> <span>->wr=<span>/<span>-><span originalwidth><span> <span>->hr=<span>/<span>-><span originalheight><span> <span>-><span resizeframes><span> <span>->encode(<span>,<span>,<span><span><span> <span>-><span clearframes><span> <span><span> <span> <span><span><span> <span gif decoder function.><span> <span parses the gif animation into single frames.><span> <span> <span> <span private> <span function> decode(<span><span><span> <span>->decoding = <span true><span><span> <span>-><span clearvariables><span> <span>->loadfile(<span><span><span> <span>-><span get_gif_header><span> <span>->get_graphics_extension(0<span><span> <span>-><span get_application_data><span> <span>-><span get_application_data><span> <span>->get_image_block(0<span><span> <span>->get_graphics_extension(1<span><span> <span>-><span get_comment_data><span> <span>-><span get_application_data><span> <span>->get_image_block(1<span><span> <span while>(!<span>->checkbyte(0x3b) && !<span>-><span checkeof><span> <span>->get_comment_data(1<span><span> <span>->get_graphics_extension(2<span><span> <span>->get_image_block(2<span><span> <span><span> <span>->writeframes(<span time><span><span> <span>-><span closefile><span> <span>->decoding = <span false><span><span> <span><span> <span> <span><span><span> <span gif encoder function.><span> <span combines the parsed gif frames into one single animation.><span> <span> <span> <span private> <span function> encode(<span>,<span>,<span><span><span> <span> = ""<span><span> <span>->pointer = 0<span><span> <span>->imagedata = <span array><span><span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>











