/** * @return cropInterface * @param bool $debug * @desc Class initializer */ function cropInterface($debug = false) { parent::canvasCrop($debug); $this->img = array(); $this->crop = array(); $this->useFilter = false; $agent = trim($_SERVER['HTTP_USER_AGENT']); if ((stristr($agent, 'wind') || stristr($agent, 'winnt')) && (preg_match('|MSIE ([0-9.]+)|', $agent) || preg_match('|Internet Explorer/([0-9.]+)|', $agent))) { $this->useFilter = true; } else { $this->useFilter = false; } $this->setResizing(); $this->setCropMinSize(); }
$ey = $dsize; } switch ($mimetype) { case 'image/jpg': case 'image/jpeg': $ext = "jpg"; break; case 'image/gif': $ext = "gif"; break; case 'image/png': $ext = "png"; break; } header("Content-Type: " . $mimetype); $cc = new canvasCrop(); //$cc->_showDebug = true; $cc->loadImage($src); $cc->cropToDimensions($sx, $sy, $ex, $ey); if ($title != "") { $cc->showText($title, $titlex, $titley, 1); } $cc->showImage($ext); $cc->flushImages(); /* $cc->loadImage('original2.png'); $cc->cropByPercent(15, 50, ccCENTER); $cc->saveImage('final2.jpg', 90); $cc->flushImages();
<?php /* PHP Captcha Solver Copyright (C) 2011 Karthik A This program comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions. */ global $letterlist; //The letter database $letterlist = array(array('id' => '3', 'letter' => 'x', 'hash' => '000000001000001000000000000110001100000000000001101100000000000000011100000000000000001110000000000000001101100000000000001100011000000000000100000100001'), array('id' => '4', 'letter' => 'y', 'hash' => '000000001111100100000000000111111001000000000000000110100000000000000001010000000000000000101000000000000000100100000000001111111110000000000111111110001'), array('id' => '5', 'letter' => 'c', 'hash' => '000000000011100000000000000011111000000000000011000110000000000001000001000000000000100000100000000000010000010000000000001100011000000000000010001000001'), array('id' => '6', 'letter' => '9', 'hash' => '000000011000000000000000011110011000000000011001100110000000001000010001000000000100001000100000000011001000110000000000111111110000000000001111110000001'), array('id' => '7', 'letter' => 'm', 'hash' => '000000001111111000000000000011111100000000000010000000000000000001111111000000000000011111100000000000010000000000000000001111111000000000000011111100001'), array('id' => '8', 'letter' => '8', 'hash' => '000000010001100000000000011101111000000000011011100110000000001000100001000000000100010000100000000011011100110000000000111011110000000000001000110000001'), array('id' => '9', 'letter' => 'p', 'hash' => '000000001111111110000000000111111111000000000001000100000000000001000001000000000000100000100000000000011000110000000000000111110000000000000001110000001'), array('id' => '10', 'letter' => 'i', 'hash' => '0000000000000010000000000001000001000000000110111111100000000011011111110000000000000000001000000000000000000100001'), array('id' => '11', 'letter' => 'u', 'hash' => '000000001111100000000000000111111000000000000000000110000000000000000001000000000000000000100000000000000000100000000000001111111000000000000111111100001'), array('id' => '12', 'letter' => 'q', 'hash' => '000000000011100000000000000011111000000000000011000110000000000001000001000000000000100000100000000000001000100000000000001111111110000000000111111111001'), array('id' => '13', 'letter' => 'd', 'hash' => '000000000011100000000000000011111000000000000011000110000000000001000001000000000000100000100000000000001000100000000001111111111000000000111111111100001'), array('id' => '15', 'letter' => 'g', 'hash' => '000000000111010100000000000111111111000000000010001010100000000001000101010000000000100010101000000000011111010100000000000111001110000000000110000010001'), array('id' => '16', 'letter' => 'o', 'hash' => '000000000011100000000000000011111000000000000011000110000000000001000001000000000000100000100000000000011000110000000000000111110000000000000001110000001'), array('id' => '17', 'letter' => '2', 'hash' => '000000010000001000000000011000001100000000011000001110000000001000001101000000000100001100100000000011001100010000000000111100001000000000001100000100001'), array('id' => '18', 'letter' => '7', 'hash' => '000001000000011000000000100000011100000000010000011000000000001000011000000000000100011000000000000010011000000000000001111000000000000000111000000000001'), array('id' => '19', 'letter' => 'n', 'hash' => '000000001111111000000000000111111100000000000001000000000000000001000000000000000000100000000000000000011000000000000000000111111000000000000001111100001'), array('id' => '20', 'letter' => 'b', 'hash' => '000001111111111000000000111111111100000000000001000100000000000001000001000000000000100000100000000000011000110000000000000111110000000000000001110000001'), array('id' => '21', 'letter' => 'h', 'hash' => '000001111111111000000000111111111100000000000001000000000000000001000000000000000000100000000000000000011000000000000000000111111000000000000001111100001'), array('id' => '22', 'letter' => 't', 'hash' => '000000001000000000000000000100000000000000001111111100000000000111111111000000000000100000100000000000010000010000000000000000011000000000000000001000001'), array('id' => '26', 'letter' => 'r', 'hash' => '000000001000000000000000000111111100000000000001111110000000000001100000000000000000100000000000000000010000000000000000001100000000000000000010000000001'), array('id' => '24', 'letter' => 'e', 'hash' => '000000000011100000000000000011111000000000000011010110000000000001001001000000000000100100100000000000011010010000000000000111011000000000000001101000001'), array('id' => '25', 'letter' => 'f', 'hash' => '000000000010000000000000000001000000000000001111111110000000001111111111000000000100001000000000000010000100000000000001110000000000000000011000000000001'), array('id' => '27', 'letter' => 'a', 'hash' => '000000000000110000000000000010111100000000000011010010000000000001001001000000000000100100100000000000010010100000000000001111111000000000000011111100001'), array('id' => '28', 'letter' => 'v', 'hash' => '000000001100000000000000000111100000000000000000111100000000000000000111000000000000000011100000000000000111100000000000001111000000000000000110000000001'), array('id' => '29', 'letter' => 'k', 'hash' => '00000111111111100000000011111111110000000000000011000000000000000011110000000000000011001100000000000001000011000000000000000000100001'), array('id' => '30', 'letter' => '6', 'hash' => '000000011111100000000000011111111000000000011000100110000000001000100001000000000100010000100000000011001100110000000000110011110000000000000000110000001'), array('id' => '31', 'letter' => 'j', 'hash' => '00000000000000110000000000000000011100000000000000000010000000000000000001000000000010000000100000001101111111110000000110111111110001'), array('id' => '32', 'letter' => '5', 'hash' => '000001111100100000000000111110011000000000010001000110000000001001000001000000000100100000100000000010011000110000000001000111110000000000000001110000001'), array('id' => '33', 'letter' => 'w', 'hash' => '000000001111110000000000000111111100000000000000000110000000000000011110000000000000001111000000000000000000110000000000001111111000000000000111111000001'), array('id' => '34', 'letter' => 'z', 'hash' => '0000000010000110000000000001000111000000000000100110100000000000010110010000000000001110001000000000000110000100001'), array('id' => '35', 'letter' => 's', 'hash' => '000000000110010000000000000111101100000000000010010010000000000001001001000000000000100100100000000000010010010000000000001101111000000000000010011000001'), array('id' => '36', 'letter' => '3', 'hash' => '000000100000010000000000110000001100000000010000000010000000001000100001000000000100010000100000000011011100110000000000111011110000000000001000110000001'), array('id' => '37', 'letter' => '4', 'hash' => '000000000011000000000000000011100000000000000011010000000000000011001000000000000011000100000000000011111111110000000001111111111000000000000000100000001')); require 'class.cropcanvas.php'; $cc = new canvasCrop(); $src = imagecreatefromJPEG('captcha.jpg') or die('Problem with source'); $out = ImageCreateTrueColor(imagesx($src), imagesy($src)) or die('Problem In Creating image'); // scan image pixels for ($x = 0; $x < imagesx($src); $x++) { for ($y = 0; $y < imagesy($src); $y++) { $src_pix = imagecolorat($src, $x, $y); $src_pix_array = rgb_to_array($src_pix); if ($src_pix_array[0] > 100 && $src_pix_array[1] > 100 && $src_pix_array[2] > 100) { $src_pix_array[0] = 255; $src_pix_array[1] = 255; $src_pix_array[2] = 255; } else { $src_pix_array[0] = 0; $src_pix_array[1] = 0; $src_pix_array[2] = 0; } imagesetpixel($out, $x, $y, imagecolorallocate($out, $src_pix_array[0], $src_pix_array[1], $src_pix_array[2])); }