powered by nequal
Home » PHP_PowerToys » Timeline » 1962

Changeset 1962 -- 2010-07-11 01:26:51

Author
FreeBSE
Comment
バージョン改訂 モザイクメソッド削除 指定した数字で文字列をぶった切るnumSplitメソッド実装

Diffs

PHP_PowerToys/trunk/PowerToys.php

@@ -1,10 +1,10 @@
<?php
/**
- *  PHP_PowerToys 0.3.0+
+ *  PHP_PowerToys 0.2.9
*
*  @author	    FreeBSE <freebse@live.jp> <http://panasocli.cc/wordpress>
*  @package	PHP_PowerToys
- *  @version	PHP_PowerToys v 0.3.0+ 2010/02/18
+ *  @version	PHP_PowerToys v 0.2.9
*
*/
class PHP_PowerToys {
@@ -566,73 +566,7 @@
}
/**
-	 * モザイクをかける(大昔に書いたコードの流用なので汚染済みw)
*
-	 * @param string $filename ファイル名
-	 * @param int $level モザイクレベル
-	 * @return ImageResource
-	 */
-	function mosaic($filename, $level=2){
-	    if(!PHP_PowerToys::is_file_ex($filename)) return false;
-	    if(!PHP_PowerToys::extensionExist('gd')) return false;
-//	    $img = imagecreatefromjpeg($filename);
-	    $img = PHP_PowerToys::iopen($filename);
-	    $x = imagesx($img);
-	    $y = imagesy($img);
-	    if($x <= $level){
-		$level = $x;
-	    }
-	    define("BLOCK_SIZE", $level);
-	    //新しいイメージを元画像サイズを元に作成
-	    $newimg = imagecreatetruecolor($x,$y);
-	    $xx = 0;
-	    $res = $x * $y;
-
-	    for($i=0;$i<=$res;++$i){
-		for($j=$xx,$n=$xx+BLOCK_SIZE;$j<=$n;++$j){
-		    $rgb = imagecolorat($img, $j, $yy);
-		}
-		if($i % BLOCK_SIZE == 0 && $i != 0){
-		    $r[$k] = ($rgb >> 16) & 0xFF;
-		    $g[$k] = ($rgb >> 8) & 0xFF;
-		    $b[$k] = $rgb & 0xFF;
-		    ++$k;
-		}
-		if($yy == $y){
-		    $xx += BLOCK_SIZE;
-		    $yy = 0;
-		}
-		++$yy;
-	    }
-	    $k = 0;
-	    $yy = 0;
-	    $xx = 0;
-	    //端から端までスキャンして色を取得
-	    for($i=0;$i<=$res;++$i){
-		for($j=$xx,$n=$xx+BLOCK_SIZE;$j<=$n;++$j){
-		    imagecolorallocate($newimg, $r[$k], $g[$k], $b[$k]); //使用する色をその都度登録
-		    imagesetpixel ($newimg,$j,$yy, imagecolorclosest($newimg, $r[$k], $g[$k], $b[$k])); //1pxずつ描画
-		}
-		if($i % BLOCK_SIZE == 0 && $i != 0){
-		    ++$k;
-		}
-		if($yy == $y){
-		    $xx += BLOCK_SIZE;
-		    $yy = 0;
-		}
-		++$yy;
-	    }
-	    //処理が終わったら古いイメージ情報を破棄
-	    imagedestroy($img);
-	    //序でだからでかすぎる色情報も破棄
-	    unset($r);
-	    unset($g);
-	    unset($b);
-	    return $newimg;
-	}
-
-	/**
-	 *
* 多次元配列の最多次元数を返す
*
* @param Array $array
@@ -651,91 +585,7 @@
}
/**
-	 * 変数の中に格納されているデータの型をチェックする(若干gettypeと似ている)
*
-	 * @param mixed $var
-	 * @return mixed but Not setting to false
-	 */
-	function strictTypeChecker($var){
-	    if(!isset($var)) return false;
-	    if(is_null($var)){
-		return 'null';
-	    }elseif(empty($var)){
-		return 'empty';
-	    }elseif($var === 0){
-		return 'int 0';
-	    }elseif(is_string($var)){
-		return 'string';
-	    }elseif($var == 0 && is_string($var)){
-		return 'str 0';
-	    }elseif($var == 0 && is_numeric($var)){
-		return 'num 0';
-	    }elseif(is_float($var)){
-		return 'float';
-	    }elseif(is_array($var)){
-		return 'Array';
-	    }elseif(is_object($var)){
-		return 'Object';
-	    }elseif(is_resource($var)){
-		return 'resource';
-	    }elseif(is_binary($var)){
-		return 'binary';
-	    }elseif(is_bool($var)){
-		return 'Boolean';
-	    }
-	}
-
-	/**
-	 * UNIXのコアダンプと思われる情報を返す(Experiment)
-	 * @return Array
-	 */
-	function coreDumpSeemsList(){
-	    $core = `locate / | grep \\\.core$`;
-	    $core = preg_split("/\r\n|\n|\r/", $core);
-	    array_pop($core);
-	    return $core;
-	}
-
-	/**
-	 * UNIXのコアダンプと判断された情報を返す(Experiment)
-	 * @return Array
-	 */
-	function coreDumpList(){
-	    $core = `locate / | grep \\\.core$`;
-	    $core = preg_split("/\r\n|\n|\r/", $core);
-	    array_pop($core);
-	    foreach($core as $val){
-		if ( preg_match( '/^\x7f\x45\x4c\x46/', file_get_contents($val)) )  {
-		    $cores[] = $val . ' ' . round(filesize($val) / 1024, 2) . 'KB';
-		}
-	    }
-	    return $cores;
-	}
-
-	/**
-	 * UNIXのコアダンプと判断されたファイルを削除する(Experiment)
-	 */
-	function coreDumpCleaner(){
-	    $core = `locate / | grep \\\.core$`;
-	    $core = preg_split("/\r\n|\n|\r/", $core);
-	    array_pop($core);
-	    foreach($core as $val){
-		if ( preg_match( '/^\x7f\x45\x4c\x46/', file_get_contents($val)) )  {
-		    if(is_writable($val)){
-			unlink($val);
-			if(!file_exists($val)){
-			    $fail_cores[] = $val;
-			}
-		    }else{
-			$fail_cores[] = $val;
-		    }
-		}
-	    }
-	    return $fail_cores;
-	}
-
-	/**
-	 *
* PHP5のfile_put_contents関数をPHP4向けに提供
*
* @param string $filename
@@ -781,6 +631,24 @@
return $dirs;
}
}
+
+    /**
+     * 指定した数字で文字列を区切って配列で返す
+     *
+     * @param String $str
+     * @param int $num
+     * @return Array
+     */
+    function numSplit($str, $num){
+	for($i = 1, $n = strlen($str); $i <= $n ; $i++){
+		$tmp .= substr($str, $i -1, 1);
+		if($i % $num === 0){
+			$splits[] = $tmp;
+			$tmp = "";
+		}
+	}
+	return $splits;
+    }
}
class DTO {

PHP_PowerToys/trunk/sample/sample.php

@@ -77,11 +77,11 @@
//$array = $pt->dtoToArray($dto);
//print_r($array);
-//モザイク
-//$img = $pt->mosaic(dirname(dirname(__FILE__)) . '/sample/sample.jpg');
-//imagejpeg($img, dirname(dirname(__FILE__)) . '/sample/mosaic.jpg');
-
//$array['test1']['test2']['test3'] = 'a';
//$count = $pt->getCountDimentionArrays($array);
//echo $count;
+
+//$str = "aaaaaaaaaa"
+//$data = $pt->numSplit($str, 5);
+//print_r_($data);
?>
\ ファイルの末尾に改行がありません