找回密码
 点一下
查看: 1807|回复: 6

谁给个图片美化算法

[复制链接]
发表于 2009-1-1 21:38:14 | 显示全部楼层 |阅读模式
RT

搞了个经验值条,谁给个美化算法,把图片弄得好看点嘞~~




发表于 2009-1-1 21:47:24 | 显示全部楼层
你要怎么个美化法
回复

使用道具 举报

 楼主| 发表于 2009-1-1 21:47:46 | 显示全部楼层
  1. <?php
  2. header("content-type:image/gif");
  3. $uid=$_GET["uid"];
  4. include_once('data/sql_config.php');
  5. $dbh = mysql_connect("$dbhost:3306","$dbuser",$dbpw);
  6. mysql_select_db($dbname);
  7. $w = 100;
  8. $h = 12;
  9. $query ="select * from ".$PW."members where uid=$uid";
  10. $res = mysql_query($query, $dbh);
  11. $info =& mysql_fetch_array($res,MYSQL_ASSOC);
  12. $query ="select * from ".$PW."memberdata where uid=$uid";
  13. $res = mysql_query($query, $dbh);
  14. $date =& mysql_fetch_array($res,MYSQL_ASSOC);
  15. $query ="select value from ".$PW."membercredit where uid=$uid and cid=1";
  16. $res = mysql_query($query, $dbh);
  17. $credit=& mysql_fetch_array($res,MYSQL_ASSOC);
  18. $mid=$info['memberid']+1;
  19. $query ="select grouppost from ".$PW."usergroups where gid=$mid";
  20. $res = mysql_query($query, $dbh);
  21. $group=& mysql_fetch_array($res,MYSQL_ASSOC);
  22. $usercredit=0.3*$date['postnum']+20*$date['digests']+0.5*$date['rvrc']+$credit['value'];
  23. $level=$group['grouppost'];
  24. $im=ImageCreate($w,$h);
  25. $temp=ImageCreate($w,$h);
  26. $color=ImageColorAllocate($im,255,255,255);
  27. ImageFill($im,0,0,$color);
  28. ImageColorTransparent($im,$color);
  29. $color2=ImageColorAllocate($im,0,0,0);
  30. $prec=$usercredit/$level;
  31. $ove=ImageColorAllocate($im,255,0,0);
  32. switch ($info['groupid']){
  33.     case 3:
  34.         $ove=ImageColorAllocate($im,255,100,50);
  35.         break;
  36.     case 4:
  37.         $ove=ImageColorAllocate($im,30,50,255);
  38.         break;
  39.     case 5:
  40.         $ove=ImageColorAllocate($im,255,255,30);
  41.         break;
  42.     case 6:
  43.         $ove=ImageColorAllocate($im,150,155,155);
  44.         break;
  45.     case 16:
  46.         $ove=ImageColorAllocate($im,255,50,255);
  47.         break;
  48.     default:
  49.         $ove=ImageColorAllocate($im,50,255,50);
  50.         break;
  51. }
  52. for($i=0;$i<$w*$prec;$i++){
  53.     for($j=0;$j<$h;$j++){
  54.         imagesetpixel($im,$i,$j, $ove);
  55.     }
  56. }
  57. $size = 10;
  58. $font = "C:\\\\WINDOWS\\\\Fonts\\\\msyh.ttf";
  59. $text = "$usercredit/$level";
  60. $text = iconv("GB2312","UTF-8",$text);
  61. imagettftext($im,$size,0,3*mb_strlen($text),12,$color2,$font,$text);
  62. Imagegif($im);
  63. ImageDestroy($im);
  64. ?>
复制代码
回复

使用道具 举报

 楼主| 发表于 2009-1-1 21:48:33 | 显示全部楼层
引用第1楼白银の游戏王于2009-01-01 21:47发表的  :
你要怎么个美化法

好看点就行啊
回复

使用道具 举报

发表于 2009-1-1 21:50:23 | 显示全部楼层
alpha混合,最简单。
回复

使用道具 举报

 楼主| 发表于 2009-1-1 22:00:20 | 显示全部楼层
引用第4楼白银の游戏王于2009-01-01 21:50发表的  :
alpha混合,最简单。

发现如果在循环里面改变颜色设置,会把后面一段的颜色粘到字上面

颜色条就短了一截,这是怎么回事呢?
回复

使用道具 举报

发表于 2009-1-3 00:54:21 | 显示全部楼层
我没玩过PHP的GD函数, 尴尬
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-9-30 15:21 , Processed in 0.054447 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表