Черно-Белый рисунок в ImageMagic

Discussion in 'PHP' started by NEFILIM, 2 Nov 2006.

  1. NEFILIM

    NEFILIM New Member

    Joined:
    5 Oct 2006
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Люди помогите переобразовать цветной (при аплоде на хост) рисунок или фото в Ч-Б рисунок с помощю ImageMagic... а может есть какието другие средства подскажыте...
     
  2. bopoh13

    bopoh13 Elder - Старейшина

    Joined:
    31 Oct 2006
    Messages:
    195
    Likes Received:
    20
    Reputations:
    0
    Если тебе один, то Фотошопом можно воспользоваться...
     
  3. NEFILIM

    NEFILIM New Member

    Joined:
    5 Oct 2006
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Мне надо много при каждом аплоде фото ...
     
  4. bopoh13

    bopoh13 Elder - Старейшина

    Joined:
    31 Oct 2006
    Messages:
    195
    Likes Received:
    20
    Reputations:
    0
    ИМХО, проще всего воспользоваться стандартными фильтрами (только не всеми браузерами поддерживаются)
    Code:
    <img src="filter_gray.jpg" [COLOR=Wheat]style="filter:Gray()"[/COLOR]
      width="200" height="240" border="0">
    ЗЫ: IE6 поддерживает :p
     
  5. Ch3ck

    Ch3ck Elder - Старейшина

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
    PHP:
    <?php 
    $im 
    ImageCreateFromJpeg("file.jpg"); 
    $size getimagesize("file.jpg"); 
    $new imagecreate($size[0], $size[1]);
    $black imagecolorallocate($new000); 
    $white imagecolorallocate($new0xFF0xFF0xFF); 

    for (
    $i 1$i $size[0]; $i++) { 
      for (
    $j 1$j $size[1]; $j++) {
        
    $rgb ImageColorAt($im$i$j); 
        
    $r = ($rgb >> 16) & 0xFF
        
    $g = ($rgb >> 8) & 0xFF
        
    $b $rgb 0xFF
        if ( 
    $r <  128 && $r 128 && $b 128 ) { 
          
    imagesetpixel($new$i$j$black); 
        } elseif ( 
    $r >=  128 && $r >= 128 && $b >= 128 ) { 
          
    imagesetpixel($new$i$j$white); 
        } 
      } 

    header("Content-type: image/jpeg"); 
    imagejpeg($newnull100); 
    imagedestroy($im); 
    imagedestroy($new); 
    ?> 
    А уж с загрузкой сам...
     
    #5 Ch3ck, 14 Nov 2006
    Last edited: 14 Nov 2006
    1 person likes this.
  6. NEFILIM

    NEFILIM New Member

    Joined:
    5 Oct 2006
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Спасибо! (с загрузкой проблем небудет)...