이런식으로 만들면 웹표준이나 웹 2.0에 가까워 질라나..?
근데 이걸 디자인으로 가독성 있께 코딩하는게.. 지금 실력으론 메롱 스럽..;;;

다음 홈피리뉴얼때 사용해봐야 겠..;;;

  • 갤러리
    • 운영자
    • 게스트
  • 자유게시판
  • 스크랩·스킬
  • 비밀노트
    • Script
      • html
      • css
      • Javascript
      • php
      • ajax
    • 디자인
      • 깔끔
      • 색상
      • 아이콘
      • 플래시
    • 프로그램/유틸리티
    • font
  • 방명록
  • 로그인
    • 아이디 :
    • 비밀번호 :
    • 회원가입



  <ul>
 <li>갤러리<ul>
  <li>운영자</li>
  <li>게스트</li>
 </ul>
 <li>자유게시판</li>
 <li>스크랩·스킬</li>
 <li>비밀노트<ul>
  <li>Script<ul>
   <li>html</li>
   <li>css</li>
   <li>Javascript</li>
   <li>php</li>
   <li>ajax</li>
  </ul>
  <li>디자인<ul>
   <li>깔끔</li>
   <li>색상</li>
   <li>아이콘</li>
   <li>플래시</li>
  </ul>
 </ul><ul>
   <li>프로그램/유틸리티</li>
   <li>font</li>
  </ul>
 <li>방명록</li>
 <li>로그인<ul>
  <li>아이디 : <input type="text" name="uid"></li>
  <li>비밀번호 : <input type="password" name="pass"></li>
  <li><input type="submit" value="로그인"></li>
  <li>회원가입</li>
 </ul>
  </ul>

if(basename($_SERVER['PHP_SELF'])=="해당파일명[index.php]")

슬일이 많은 코드...
예전에 짜둔건데 웹표준을 생각해서 다시 손을 본겁니다.
웹상에 이미지를 호출하는 소스를 짤때 일일히 가로,세로 값을 저장하는 불편함을 완화 가기위해 만들어 본거지요.
물런 위즈윅방식(드림위버, 나모웹에디터) 할땐 자동으로 지정 되는것 같아요.

<?
function img($url,$css="",$alt="")
 {
  $imginfo = GetImageSize ($url);
  $ret_data= "<img src=\"".$url."\" ".$imginfo[3]." css=\"".$css."\" border=\"0\" alt=\"".$alt."\" />";
  return $ret_data;
 }
?>
스마티용 플러그인을 손봐서 만들것임.
언샤픈마트크는 이곳에서 좀더 자세히 볼수 있음
미니보드용은 이곳 에서...
<?
 function function_thumb($input, $output, $x, $y, $imgsharpen, $imgcrop)
 {
 $params['file']=$input;
 $_DST['file']=$output;
 $_DST['width']=$x;
 $_DST['height']=$y;
 if($imgcrop)$params['crop'] = 1;
 if($imgsharpen)$params['sharpen'] = 1;
 $temp = getimagesize($params['file']);
 $_SRC['file']  = $params['file'];
 $_SRC['width']  = $temp[0];
 $_SRC['height']  = $temp[1];
 $_SRC['type']  = $temp[2]; // 1=GIF, 2=JPG, 3=PNG, SWF=4
 $_SRC['string']  = $temp[3];
 $_SRC['filename']  = basename($params['file']);
 $_SRC['modified']  = filemtime($params['file']);

 if($params['crop'] and $x and $y)
  {       
  $width_ratio = $_SRC['width']/$_DST['width'];
  $height_ratio = $_SRC['height']/$_DST['height'];
 
  // Es muss an der Breite beschnitten werden
  if ($width_ratio > $height_ratio)
   {
   $_DST['offset_w'] = round(($_SRC['width']-$_DST['width']*$height_ratio)/2);
   $_SRC['width'] = round($_DST['width']*$height_ratio);
   }
  // es muss an der H?e beschnitten werden
  elseif ($width_ratio < $height_ratio)
   {
   $_DST['offset_h'] = round(($_SRC['height']-$_DST['height']*$width_ratio)/2);
   $_SRC['height'] = round($_DST['height']*$width_ratio);
   }
  }
  else {
  $params['longside'] = $_DST['width'];
  $params['shortside'] = $_DST['height'];
  $temp_large=$temp[0]>$temp[1] ? $temp[0] : $temp[1];
 
   //// 큰 쪽을 수정
   if($x and $y){
    if($temp_large>$x){
     $temp_sel = $temp_large==$temp[0] ? "width" : "height" ;
     if($temp_sel=="width"){
      $_DST['width']=$temp[0]>=$x ? $x : $temp[0];
      $_DST['height']=ceil($_DST['width'] * $temp[1] / $temp[0]);
     } else {
      $_DST['height']=$temp[1]>=$x ? $x : $temp[1];
      $_DST['width']=ceil($_DST['height'] * $temp[0] / $temp[1]);
     }
    }
   }
   //// 한쪽이 안정해졌을경우 ( 한쪽에만 맞춤 )
   elseif(!$x || !$y)
   {
    if($x){ // width 를 수치로 고정
     $_DST['width']=$x;
     $_DST['height']=ceil($_DST['width'] * $temp[1] / $temp[0]);
    }
    else{
     $_DST['height']=$y;
     $_DST['width']=ceil($_DST['height'] * $temp[0] / $temp[1]);
    }
   }
   
   //// 양쪽 다 정해졌을 경우
   else{ $_DST['width']=$x; $_DST['height']=$y; }
  }
 if ($_SRC['type'] == 1) $_SRC['image'] = imagecreatefromgif($_SRC['file']);
 if ($_SRC['type'] == 2) $_SRC['image'] = imagecreatefromjpeg($_SRC['file']);
 if ($_SRC['type'] == 3) $_SRC['image'] = imagecreatefrompng($_SRC['file']);
 if (!empty($params['type'])) $_DST['type'] = $params['type'];
 else $_DST['type'] = $_SRC['type'];
 $_DST['image'] = imagecreatetruecolor($_DST['width'], $_DST['height']);
 imagecopyresampled($_DST['image'], $_SRC['image'], 0, 0, $_DST['offset_w'], $_DST['offset_h'], $_DST['width'], $_DST['height'], $_SRC['width'], $_SRC['height']);
 if ($params['sharpen']) $_DST['image'] = UnsharpMask($_DST['image'],60,0.5,3);

 if(@imagetypes() & IMG_PNG) @ImagePNG($_DST['image'],$output);
      else @ImageJPEG($_DST['image'],$output);
      @chmod($output,0606);
 imagedestroy($_DST['image']);
 imagedestroy($_SRC['image']);
 return file_exists($output);
}

function UnsharpMask($img, $amount, $radius, $threshold)    { 
////////////////////////////////////////////////////////////////////////////////////////////////  
////  
////                  Unsharp Mask for PHP - version 2.1  
////  
////    Unsharp mask algorithm by Torstein Hønsi 2003-06.  
////             thoensi_at_netcom_dot_no.  
////               Please leave this notice.  
////  
///////////////////////////////////////////////////////////////////////////////////////////////  
 
    // $img is an image that is already created within php using 
    // imgcreatetruecolor. No url! $img must be a truecolor image. 
    // Attempt to calibrate the parameters to Photoshop: 
    if ($amount > 500)    $amount = 500; 
    $amount = $amount * 0.016; 
    if ($radius > 50)    $radius = 50; 
    $radius = $radius * 2; 
    if ($threshold > 255)    $threshold = 255; 
     
    $radius = abs(round($radius));     // Only integers make sense. 
    if ($radius == 0) { 
        return $img; imagedestroy($img); break;        } 
    $w = imagesx($img); $h = imagesy($img); 
    $imgCanvas = imagecreatetruecolor($w, $h); 
    $imgBlur = imagecreatetruecolor($w, $h); 
     
    // Gaussian blur matrix: 
    //                         
    //    1    2    1         
    //    2    4    2         
    //    1    2    1         
    //                         
    ////////////////////////////////////////////////// 
         
    if (function_exists('imageconvolution')) { // PHP >= 5.1  
            $matrix = array(  
            array( 1, 2, 1 ),  
            array( 2, 4, 2 ),  
            array( 1, 2, 1 )  
        );  
        imagecopy ($imgBlur, $img, 0, 0, 0, 0, $w, $h); 
        imageconvolution($imgBlur, $matrix, 16, 0);  
    }  
    else {  
    // Move copies of the image around one pixel at the time and merge them with weight 
    // according to the matrix. The same matrix is simply repeated for higher radii. 
        for ($i = 0; $i < $radius; $i++)    { 
            imagecopy ($imgBlur, $img, 0, 0, 1, 0, $w - 1, $h); // left 
            imagecopymerge ($imgBlur, $img, 1, 0, 0, 0, $w, $h, 50); // right 
            imagecopymerge ($imgBlur, $img, 0, 0, 0, 0, $w, $h, 50); // center 
            imagecopy ($imgCanvas, $imgBlur, 0, 0, 0, 0, $w, $h); 
            imagecopymerge ($imgBlur, $imgCanvas, 0, 0, 0, 1, $w, $h - 1, 33.33333 ); // up 
            imagecopymerge ($imgBlur, $imgCanvas, 0, 1, 0, 0, $w, $h, 25); // down 
        } 
    } 
    if($threshold>0){ 
        // Calculate the difference between the blurred pixels and the original 
        // and set the pixels 
        for ($x = 0; $x < $w; $x++)    { // each row 
            for ($y = 0; $y < $h; $y++)    { // each pixel 
                     
                $rgbOrig = ImageColorAt($img, $x, $y); 
                $rOrig = (($rgbOrig >> 16) & 0xFF); 
                $gOrig = (($rgbOrig >> 8) & 0xFF); 
                $bOrig = ($rgbOrig & 0xFF); 
                 
                $rgbBlur = ImageColorAt($imgBlur, $x, $y); 
                 
                $rBlur = (($rgbBlur >> 16) & 0xFF); 
                $gBlur = (($rgbBlur >> 8) & 0xFF); 
                $bBlur = ($rgbBlur & 0xFF); 
                 
                // When the masked pixels differ less from the original 
                // than the threshold specifies, they are set to their original value. 
                $rNew = (abs($rOrig - $rBlur) >= $threshold)  
                    ? max(0, min(255, ($amount * ($rOrig - $rBlur)) + $rOrig))  
                    : $rOrig; 
                $gNew = (abs($gOrig - $gBlur) >= $threshold)  
                    ? max(0, min(255, ($amount * ($gOrig - $gBlur)) + $gOrig))  
                    : $gOrig; 
                $bNew = (abs($bOrig - $bBlur) >= $threshold)  
                    ? max(0, min(255, ($amount * ($bOrig - $bBlur)) + $bOrig))  
                    : $bOrig; 
                 
                 
                             
                if (($rOrig != $rNew) || ($gOrig != $gNew) || ($bOrig != $bNew)) { 
                        $pixCol = ImageColorAllocate($img, $rNew, $gNew, $bNew); 
                        ImageSetPixel($img, $x, $y, $pixCol); 
                    } 
            } 
        } 
    } 
    else{ 
        for ($x = 0; $x < $w; $x++)    { // each row 
            for ($y = 0; $y < $h; $y++)    { // each pixel 
                $rgbOrig = ImageColorAt($img, $x, $y); 
                $rOrig = (($rgbOrig >> 16) & 0xFF); 
                $gOrig = (($rgbOrig >> 8) & 0xFF); 
                $bOrig = ($rgbOrig & 0xFF); 
                 
                $rgbBlur = ImageColorAt($imgBlur, $x, $y); 
                 
                $rBlur = (($rgbBlur >> 16) & 0xFF); 
                $gBlur = (($rgbBlur >> 8) & 0xFF); 
                $bBlur = ($rgbBlur & 0xFF); 
                 
                $rNew = ($amount * ($rOrig - $rBlur)) + $rOrig; 
                    if($rNew>255){$rNew=255;} 
                    elseif($rNew<0){$rNew=0;} 
                $gNew = ($amount * ($gOrig - $gBlur)) + $gOrig; 
                    if($gNew>255){$gNew=255;} 
                    elseif($gNew<0){$gNew=0;} 
                $bNew = ($amount * ($bOrig - $bBlur)) + $bOrig; 
                    if($bNew>255){$bNew=255;} 
                    elseif($bNew<0){$bNew=0;} 
                $rgbNew = ($rNew << 16) + ($gNew <<8) + $bNew; 
                    ImageSetPixel($img, $x, $y, $rgbNew); 
            } 
        } 
    } 
    imagedestroy($imgCanvas); 
    imagedestroy($imgBlur); 
     
    return $img; 
}
?>

+ Recent posts