mirror of
				https://github.com/avecms/AVE.cms.git
				synced 2025-10-30 21:26:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?
 | |
| 
 | |
| # preparing PNG fonts to use with KCAPTCHA.
 | |
| # reads files from folder "../fonts0", scans for symbols ans spaces and writes new font file with cached symbols positions to filder "../fonts"
 | |
| 
 | |
| # comment or remove next line for using (commented for security reason):
 | |
| //exit();
 | |
| 
 | |
| if ($handle = opendir('../fonts0')) {
 | |
|     while (false !== ($file = readdir($handle))) {
 | |
|         if ($file == "." || $file == "..") {
 | |
|         	continue;
 | |
|         }
 | |
| 
 | |
|         $img=imagecreatefrompng('../fonts0/'.$file);
 | |
|         imageAlphaBlending($img, false);
 | |
| 		imageSaveAlpha($img, true);
 | |
|         $transparent=imagecolorallocatealpha($img,255,255,255,127);
 | |
|         $white=imagecolorallocate($img,255,255,255);
 | |
|         $black=imagecolorallocate($img,0,0,0);
 | |
|         $gray=imagecolorallocate($img,100,100,100);
 | |
| 
 | |
|         for($x=0;$x<imagesx($img);$x++){
 | |
|         	$space=true;
 | |
|         	$column_opacity=0;
 | |
|         	for($y=1;$y<imagesy($img);$y++){
 | |
|         		$rgb = ImageColorAt($img, $x, $y);
 | |
|         		$opacity=$rgb>>24;
 | |
|         		if($opacity!=127){
 | |
|         			$space=false;
 | |
|         		}
 | |
|         		$column_opacity+=127-$opacity;
 | |
|         	}
 | |
|         	if(!$space){
 | |
|         		imageline($img,$x,0,$x,0,$column_opacity<200?$gray:$black);
 | |
|         	}
 | |
|         }
 | |
|         imagepng($img,'../fonts/'.$file);
 | |
|     }
 | |
|     closedir($handle);
 | |
| }
 | |
| ?> 
 |