ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

вопрос по GD
  #1  
Старый 16.12.2008, 05:25
Аватар для SYMBiO
SYMBiO
Познающий
Регистрация: 11.08.2008
Сообщений: 35
Провел на форуме:
494780

Репутация: 28
По умолчанию вопрос по GD

как из картинки вырезать область по координатам?
вопрос конечно... маны норм ненашол...
 
Ответить с цитированием

  #2  
Старый 16.12.2008, 06:33
Аватар для ZagZag
ZagZag
Участник форума
Регистрация: 22.02.2007
Сообщений: 213
Провел на форуме:
388345

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

Из справочника
Цитата:
imagecopy
(PHP 4, PHP 5)

imagecopy — Copy part of an image

Description
bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )
Copy a part of src_im onto dst_im starting at the x,y coordinates src_x , src_y with a width of src_w and a height of src_h . The portion defined will be copied onto the x,y coordinates, dst_x and dst_y .

Parameters

dst_im
Destination image link resource.

src_im
Source image link resource.

dst_x
x-coordinate of destination point.

dst_y
y-coordinate of destination point.

src_x
x-coordinate of source point.

src_y
y-coordinate of source point.

src_w
Source width.

src_h
Source height.


Return Values
Returns TRUE on success or FALSE on failure.

Examples

Example #1 Cropping the PHP.net logo

<?php
// Create image instances
$src = imagecreatefromgif('php.gif');
$dest = imagecreatetruecolor(80, 40);

// Copy
imagecopy($dest, $src, 0, 0, 20, 13, 80, 40);

// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>
l
 
Ответить с цитированием

  #3  
Старый 16.12.2008, 06:34
Аватар для ZagZag
ZagZag
Участник форума
Регистрация: 22.02.2007
Сообщений: 213
Провел на форуме:
388345

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

Также смотри:
imagecopymerge — Copy and merge part of an image
imagecopymergegray — Copy and merge part of an image with gray scale
imagecopyresampled — Copy and resize part of an image with resampling
imagecopyresized — Copy and resize part of an image
 
Ответить с цитированием

  #4  
Старый 16.12.2008, 06:42
Аватар для DTW
DTW
Участник форума
Регистрация: 11.05.2008
Сообщений: 202
Провел на форуме:
420713

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

Вот как я применял

PHP код:
<?
header
("Content-type: image/gif");
$im imagecreatefromjpeg("fon.jpeg") ;
$serverip "127.0.0.1";
$port "800";
function 
status($serverip$port) {
$sockres = @fsockopen($serverip$port$errno$errstr1);
if (!
$sockres) {
return 
"off.gif";
 } else {
 @
fclose($sockres);
return 
"on.gif";
 }
}
$st2status($serverip$port);
$im2 imagecreatefromgif($st2) ;
$color imagecolorallocate($im,255,255,255) ;
$str  ="STATUS:";
imagestring($im,2,250,85,$str,$color) ;
$dX ="305";
$dY="88";
$dW="32";
$dH="8";
imagecopyresized($im,$im2,$dX,$dY,0,0,$dW,$dH,32,8) ;
imagepng($im) ;
imagedestroy($im) ;

?>
 
Ответить с цитированием

  #5  
Старый 16.12.2008, 06:59
Аватар для SYMBiO
SYMBiO
Познающий
Регистрация: 11.08.2008
Сообщений: 35
Провел на форуме:
494780

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

DTW, зачем ети сокеты?
мне просто обрезать картинку надо о_О

при компиляции (скрипта сдернутого с пхп.нет) выдает путь к пхп. что нетак хз
 
Ответить с цитированием

  #6  
Старый 16.12.2008, 07:05
Аватар для xcedz
xcedz
Познавший АНТИЧАТ
Регистрация: 14.01.2008
Сообщений: 1,165
Провел на форуме:
7229141

Репутация: 3099


По умолчанию

=\
http://i-novice.net/2-sposoba-sozdaniya-thumbnail-na-php/

$src - имя исходной картинки
$dest - имя картинки-результата,
$x, $y - координаты левого верхнего угла прямоугольника, который будет вырезан из основной картинки,
$width - ширина выделенной области,
$height - и ее высота.


PHP код:
<?  
function img_crop($src$dest$x$y$width$height$rgb 0xFFFFFF$quality 100) {  
  
    if (!
file_exists($src)) {  
        return 
false;  
    }  
  
    
$size getimagesize($src);  
  
    if (
$size === false) {  
        return 
false;  
    }  
  
    
$format strtolower(substr($size['mime'], strpos($size['mime'], '/') + 1));  
    
$icfunc 'imagecreatefrom'.$format;  
  
    if (!
function_exists($icfunc)) {  
        return 
false;  
    }  
  
    
$isrc  $icfunc($src);  
    
$idest imagecreatetruecolor($width$height);  
  
    
imagefill($idest00$rgb);  
    
imagecopyresampled($idest$isrc00$x$y$width$height$width$height);  
  
    
imagejpeg($idest$dest$quality);  
  
    
imagedestroy($isrc);  
    
imagedestroy($idest);  
  
    return 
true;  
}  
?>

Последний раз редактировалось xcedz; 16.12.2008 в 08:59..
 
Ответить с цитированием

  #7  
Старый 16.12.2008, 07:36
Аватар для SYMBiO
SYMBiO
Познающий
Регистрация: 11.08.2008
Сообщений: 35
Провел на форуме:
494780

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

xcedz протести плз. у меня молчит.
 
Ответить с цитированием

  #8  
Старый 16.12.2008, 12:59
Аватар для optimazer
optimazer
Познающий
Регистрация: 04.12.2008
Сообщений: 46
Провел на форуме:
148562

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

Цитата:
<?php
function crop_img($sp,$x,$y,$w,$h,$dst)
{
list($width,$height,$t)=getimagesize($sp);
if ($t == 1) {
$src = imagecreatefromgif($sp);
}elseif ($t == 2){
$src = imagecreatefromjpeg($sp);
}else{
$src = imagecreatefrompng($sp);
}
if ($x + $w <= $width and $y + $h <= $height) {
$tmp = imagecreatetruecolor($w,$h);
imagecopy($tmp,$src,$x,$y,0,0,$w,$h);
if ($t == 1) {
imagegif($tmp,$dst,100);
}elseif ($t == 2){
imagejpeg($tmp,$dst,100);;
}else{
imagepng($tmp,$dst,100);
}
imagedestroy($tmp);
imagedestroy($src);
return TRUE;
}else{
echo "error";
return FALSE;
}
}
?>
где $sp - изображение из которого вырезать область
$x, $y - абсцисса и ордината верхнего левого угла области которую нужно вырезать
$w, $h - ширина и высота соответственно
$dst - выходная картинка

принимает gif, jpeg, png
выходной тип изображения тот же что и входной

Последний раз редактировалось optimazer; 16.12.2008 в 13:13..
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ