PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB`maxHeight = $maxHeight; $this->color1 = $color1; $this->color2 = $color2; $this->res = $res; $this->error = 0; $this->positionY = 0; } /** * Returns the index in $keys (useful for checksum) * * @param mixed $var * @return mixed */ protected function findIndex($var){ return array_search($var,$this->keys); } /** * Returns the code of the char (useful for drawing bars) * * @param mixed $var * @return string */ protected function findCode($var){ return $this->code[$this->findIndex($var)]; } /** * Draws a Bar of $color depending of the resolution * * @param ressource $img * @param FColor $color */ protected function DrawSingleBar($im,FColor $color){ $bar_color = (is_null($color))?NULL:$color->allocate($im); if(!is_null($bar_color)) for($i=0;$i<$this->res;$i++) imageline($im,$this->positionX+$i,$this->positionY,$this->positionX+$i,$this->positionY+$this->maxHeight,$bar_color); } /** * Writes the Error on the picture * * @param ressource $img * @param string $text */ protected function DrawError($im,$text){ $text_color = (is_null($this->color1))?NULL:$this->color1->allocate($im); imagestring($im,5,0,$this->error*15,$text,$text_color); $this->error++; $this->lastX = (imagefontwidth(5)*strlen($text)>$this->lastX)?imagefontwidth(5)*strlen($text):$this->lastX; $this->lastY = $this->error*15; } /** * Moving the pointer right to write a bar */ protected function nextX(){ $this->positionX+=$this->res; } /** * Draws all chars thanks to $code. if $start==1, the line begins by a bar. * if $start==2, the line begins by a space. * * @param ressource $im * @param string $code * @param int $start */ protected function DrawChar($im,$code,$start=1){ $currentColor = ($start==1)?$this->color1:$this->color2; $colornumber = $start; for($i=0;$iDrawSingleBar($im,$currentColor); $this->nextX(); } if($colornumber==1){ $currentColor=$this->color2; $colornumber=2; } else{ $currentColor=$this->color1; $colornumber=1; } } } /** * Draws the label under the barcode * * @param ressource $im */ protected function DrawText($im) { if($this->textfont != 0) { $xPosition = ($this->positionX / 2) - (strlen($this->text)/2)*imagefontwidth($this->textfont); $text_color = (is_null($this->color1))?NULL:$this->color1->allocate($im); imagestring($im,$this->textfont,$xPosition,$this->maxHeight,$this->text,$text_color); $this->lastY = $this->maxHeight + imagefontheight($this->textfont); } } }; ?>