Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

16.12.2008, 05:25
|
|
Познающий
Регистрация: 11.08.2008
Сообщений: 35
Провел на форуме: 494780
Репутация:
28
|
|
вопрос по GD
как из картинки вырезать область по координатам?
вопрос конечно... маны норм ненашол...
|
|
|

16.12.2008, 06:33
|
|
Участник форума
Регистрация: 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
|
|
|

16.12.2008, 06:34
|
|
Участник форума
Регистрация: 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
|
|
|

16.12.2008, 06:42
|
|
Участник форума
Регистрация: 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, $errstr, 1);
if (!$sockres) {
return "off.gif";
} else {
@fclose($sockres);
return "on.gif";
}
}
$st2= status($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) ;
?>
|
|
|

16.12.2008, 06:59
|
|
Познающий
Регистрация: 11.08.2008
Сообщений: 35
Провел на форуме: 494780
Репутация:
28
|
|
DTW, зачем ети сокеты?
мне просто обрезать картинку надо о_О
при компиляции (скрипта сдернутого с пхп.нет) выдает путь к пхп. что нетак хз
|
|
|

16.12.2008, 07:05
|
|
Познавший АНТИЧАТ
Регистрация: 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($idest, 0, 0, $rgb);
imagecopyresampled($idest, $isrc, 0, 0, $x, $y, $width, $height, $width, $height);
imagejpeg($idest, $dest, $quality);
imagedestroy($isrc);
imagedestroy($idest);
return true;
}
?>
Последний раз редактировалось xcedz; 16.12.2008 в 08:59..
|
|
|

16.12.2008, 07:36
|
|
Познающий
Регистрация: 11.08.2008
Сообщений: 35
Провел на форуме: 494780
Репутация:
28
|
|
xcedz протести плз. у меня молчит.
|
|
|

16.12.2008, 12:59
|
|
Познающий
Регистрация: 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)
|
|
|
|