Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание помех на изображении, noise - может есть другой способ? 
:(
    Опции темы
IZ@TOP
Дата 30.5.2005, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Вот хотел поинтересоваться, может есть другой способ кроме попиксельной заливки?

Есть у меня, например, тестовый код, он выводит картинку с помехами. Мне кажется что можно сделать проще. Извиняюсь за тупость алгоритма создания помех, не силен я в этом, написал в полусонном состоянии за 10 минут... так что не судите строго smile

Код

<?php

header("Content-type: image/png");

$im = imagecreate(150, 50);

$bgcolor    = imagecolorallocate($im, 255, 255, 255);
$textcolor    = imagecolorallocate($im, 100, 100, 100);
$noisecolor    = imagecolorallocate($im, 150, 150, 150);
$copycolor    = imagecolorallocate($im, 0, 0, 0);

$fontcopy    = 'arialbd.ttf';
$fontcode    = 'arial.ttf';

$c        = 7;
$chars    = "qwert23677yuiopas734dfgh7245jklzxcvbnm156413165nfuiqwefhunqcqntnt2786ny2y7x23msmxqmjpoidwqeyqiwtuyfvbsavxc7345eui";

$s            = 22;
$a            = 15;
$top        = 32;
$fontsize    = 18;
for($i = 0; $i < $c; $i++) {
    
    imagettftext($im, $fontsize, 0, $s, $top, $textcolor, $fontcode, $chars[rand(0, strlen($chars)-1)]);
    $s    = $s + $a;
    
}

$noise_weight    = 150*50/2;

for($i = 0; $i < 75; $i++) {

    for($j = 0; $j < 25; $j++) {
        $rx    = rand(75/rand(2, 3)*2, $i*5)-10;
        $ry    = rand(25/rand(2, 3)*2, $j*5);
        imagesetpixel($im, $rx, $ry, $noisecolor);
        //imagesetpixel($im, $rx+10, $ry-10, $noisecolor);
    }
    
}

imagettftext($im, 7, 0, 15, 48, $copycolor, $fontcopy, "Copyright (C) IZ@TOP.");

imagepng($im);
imagedestroy($im);

?> 



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Opik
Дата 30.5.2005, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Читай тут: http://www.zend.com/zend/tut/tutorial-mehm...=1&anc=0&view=1
Код

  // Add Noise Points 
    while ($i < $freq) { 
        $dotX = rand(0, $x); $dotY = rand(0, $y); 
        switch ($noise_method) { 
        case "line": 
            $line_width = rand(4,20); 
            if (rand(0,10)>=5) { 
                // Draw horizontal line 
                ImageLine($img, $dotX, $dotY, $dotX+$line_width, $dotY, $dots_color); 
            } else { 
                // Draw vertical line 
                ImageLine($img, $dotX, $dotY, $dotX, $dotY+$line_width, $dots_color); 
            } 
            break; 
        case "dots": 
            ImageSetPixel($img, $dotX, $dotY, $dots_color); 
            break; 
        case "rectangle": 
            ImageRectangle($img, $dotX-1, $dotY-1, $dotX+1, $dotY+1, $dots_color); 
            break; 
        } 
        $i++; 
    }

PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0554 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.