File size: 1.27Kb
<?
# 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);
}
?>