mirror of https://github.com/avecms/AVE.cms.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.3 KiB
42 lines
1.3 KiB
<? |
|
|
|
# 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); |
|
} |
|
?>
|
|
|