ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #6  
Старый 22.03.2010, 23:35
Omegа
Новичок
Регистрация: 16.12.2009
Сообщений: 27
С нами: 8632524

Репутация: 30
По умолчанию

Решил попробовать - вот что получилось =D

Код:
<?php
	header('Content-type: image/png');
	$im = imagecreatefrompng('FILE.PNG');
	$im0 = imagecreatefrompng('FILE.PNG');
	$w = imagesx($im);
	$h = imagesy($im);
	for($y=0;$y<$h;$y++) {
		for($x=0;$x<$w;$x++) {
			if((imagecolorat($im, $x, $y) & 0xFF)>(256/2)) {
				imagesetpixel($im,$x,$y,0xFFFFFF);
				imagesetpixel($im0,$x,$y,0xFFFFFF);
			} else {
				imagesetpixel($im,$x,$y,0x000000);
				imagesetpixel($im0,$x,$y,0x000000);
			}
		}
	}
	$open = false;
	for($y=0;$y<$h;$y++) {
		for($x=0;$x<$w;$x++) {
			if($open!=true) {
				if(imagecolorat($im,$x,$y)==0xFFFFFF) {
					$open=true;
					$start = $x;
				}
			} else {
				if(imagecolorat($im,$x,$y)==0x000000) {
					$open=false;
					$x0 = $x-1;
					$c = round(($start+$x0)/2);
					imageline($im,$start,$y,($c-1),$y,0x000000);
					imageline($im,($c+1),$y,$x0,$y,0x000000);
				}
			}
		}
	}
	$open=false;
	for($x=0;$x<$w;$x++) {
		for($y=0;$y<$h;$y++) {
			if($open!=true) {
				if(imagecolorat($im0,$x,$y)==0xFFFFFF) {
					$open=true;
					$start = $y;
				}
			} else {
				if(imagecolorat($im0,$x,$y)==0x000000) {
					$open=false;
					$y0 = $y-1;
					$c = round(($start+$y0)/2);
					imagesetpixel($im,$x,$c,0xFFFFFF);
				}
			}
		}
	}
	imagepng($im);
	imagedestroy($im);
?>
 
Ответить с цитированием
 



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
NVIDIA создала систему трехмерного изображения tinyM Мировые новости. Обсуждения. 4 30.10.2009 22:57
Изображения в интернете будут защищать "водяными знаками" dinar_007 Мировые новости. Обсуждения. 11 19.08.2006 04:34



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.