在线客服,智能在线客服,在线客服系统,客服机器人,智能客服,智能机器人客服,电商客服系统,智慧客服,免费电话,微信在线客服,网站在线客服软件,网络营销电话,手机在线客服,微客服,快商通

咨询热线:400-027-0592 

codeigniter captcha验证码插件改变图片大小后文本显示不正常现象

分类:快商学院 时间:2012-10-10 作者:


QQ空间 新浪微博 腾讯微博 更多

 

codeigniter captcha验证码默认是8个字符,但是一般4个的比较多,然后就想也改成4个的,这个完全是没问题的,所以把图片宽也设成可以容纳4个的就够了,但是问题是,图片缩小了,但是文本随机显示的位置是不会变的,所以就造成了文本会显示在图片外,就是看不到,要通过不断刷新到显示正常才可以,这也挺麻烦的,无非是改变下随机的位置,所以网上找了下,发现了解决方法

 // -----------------------------------
 //  Write the text
 // -----------------------------------
 /*
 $use_font = ($font_path != '' AND file_exists($font_path) AND function_exists('imagettftext')) ? TRUE : FALSE;

 if ($use_font == FALSE)
 {
  $font_size = 5;
  $x = rand(0, $img_width/($length/3));
  $y = 0;
 }
 else
 {
  $font_size = 16;
  $x = rand(0, $img_width/($length/1.5));
  $y = $font_size+2;
 }

 for ($i = 0; $i < strlen($word); $i++)
 {
  if ($use_font == FALSE)
  {
   $y = rand(0 , $img_height/2);
   imagestring($im, $font_size, $x, $y, substr($word, $i, 1), $text_color);
   $x += ($font_size*2);
  }
  else
  {  
   $y = rand($img_height/2, $img_height-3);
   imagettftext($im, $font_size, $angle, $x, $y, $text_color, $font_path, substr($word, $i, 1));
   $x += $font_size;
  }
 }
 */
    $use_font = ($font_path != '' AND file_exists($font_path) AND function_exists('imagettftext')) ? TRUE : FALSE;

    if ($use_font == FALSE)
    {
        $font_size = 5;
        $x = rand(10, $img_width/($length)-10);
        $y = 0;
    }
    else
    {
        $font_size    = 11;
        $x = rand(10, $img_width/($length)-10);
        $y = $font_size+2;
    }

    for ($i = 0; $i < strlen($word); $i++)
    {
        if ($use_font == FALSE)
        {
            $y = rand(2 , ($img_height-$font_size)/3);
            imagestring($im, $font_size, $x, $y, substr($word, $i, 1), $text_color);
            $x += ($font_size*2.5);
        }
        else
        {       
            $y = $img_height/2 +5;
            imagettftext($im, $font_size, rand(-$angle,$angle), $x, $y, $text_color, $font_path, substr($word, $i, 1));
            $x += $font_size+5;
        }
    }

把这个改下就可以了。

返回列表>>

上一篇:asp操作XML详解-DOM+XML

下一篇:codeigniter发送邮件


相关新闻

剖析SEO依赖的四种形态

微商技巧:怎么做好微商?

在线客服对机械制造行业的重要性

在线客服对餐饮业发展的潜移默化

浅谈在线客服对婚纱摄影行业的作用

客服一对一服务
30万成功案例
CCTV央视特别报道
国家高新技术企业
全国统一咨询热线:400-027-0592