Esempio n. 1
0
 /**
  * @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();
 }
Esempio n. 2
0
    $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();
Esempio n. 3
0
<?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]));
    }