Hi All,
This patch adds suport for imagecopyrotated() to the extension when using
gd>=2.0.0. For some reason this function is disabled even when you add
support for the GD library to PHP.
Thanks,
David Giffin
diff -ruN php-5.0.0b2/ext/gd/gd.c php-5.0.0b2.new/ext/gd/gd.c
--- php-5.0.0b2/ext/gd/gd.c Mon Sep 15 02:27:18 2003
+++ php-5.0.0b2.new/ext/gd/gd.c Tue Nov 11 16:09:56 2003
@@ -201,6 +201,7 @@
PHP_FE(imagecolorclosestalpha, NULL)
PHP_FE(imagecolorexactalpha, NULL)
PHP_FE(imagecopyresampled, NULL)
+ PHP_FE(imagecopyrotated, NULL)
#endif
#ifdef HAVE_GD_BUNDLED
@@ -1178,6 +1179,44 @@
RETURN_TRUE;
}
/* }}} */
+
+/* {{{ proto int imagecopyrotated(int dst_im, int src_im, double dst_x, double dst_y,
int src_x, int src_y, int src_w, int src_h, int angle)
+ Copy and rotate part of an image by an arbitrary number of integer degrees */
+PHP_FUNCTION(imagecopyrotated)
+{
+ zval **SIM, **DIM, **SX, **SY, **SW, **SH, **DX, **DY, **ANGLE;
+ gdImagePtr im_dst, im_src;
+ int srcH, srcW, srcY, srcX, angle;
+ double dstY, dstX;
+
+ if (ZEND_NUM_ARGS() != 9 ||
+ zend_get_parameters_ex(9, &DIM, &SIM, &DX, &DY, &SX, &SY, &SW, &SH, &ANGLE) ==
FAILURE) {
+ ZEND_WRONG_PARAM_COUNT();
+ }
+
+ ZEND_FETCH_RESOURCE(im_dst, gdImagePtr, DIM, -1, "Image", le_gd);
+ ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd);
+
+ convert_to_long_ex(SX);
+ convert_to_long_ex(SY);
+ convert_to_long_ex(SW);
+ convert_to_long_ex(SH);
+ convert_to_double_ex(DX);
+ convert_to_double_ex(DY);
+ convert_to_long_ex(ANGLE);
+
+ srcX = Z_LVAL_PP(SX);
+ srcY = Z_LVAL_PP(SY);
+ srcH = Z_LVAL_PP(SH);
+ srcW = Z_LVAL_PP(SW);
+ dstX = Z_DVAL_PP(DX);
+ dstY = Z_DVAL_PP(DY);
+ angle = Z_LVAL_PP(ANGLE);
+
+ gdImageCopyRotated(im_dst, im_src, dstX, dstY, srcX, srcY, srcW, srcH, angle);
+ RETURN_TRUE;
+}
+/* }}} */
#endif
#ifdef HAVE_GD_BUNDLED
diff -ruN php-5.0.0b2/ext/gd/php_gd.h php-5.0.0b2.new/ext/gd/php_gd.h
--- php-5.0.0b2/ext/gd/php_gd.h Sun Jun 15 15:00:08 2003
+++ php-5.0.0b2.new/ext/gd/php_gd.h Tue Nov 11 15:52:54 2003
@@ -101,6 +101,7 @@
PHP_FUNCTION(imagecolorclosestalpha);
PHP_FUNCTION(imagecolorexactalpha);
PHP_FUNCTION(imagecopyresampled);
+PHP_FUNCTION(imagecopyrotated);
#endif
#ifdef HAVE_GD_BUNDLED
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php