IMAGECOPYMERGEGRAY(3) 1 IMAGECOPYMERGEGRAY(3)imagecopymergegray - Copy and merge part of an image with gray scaleSYNOPSIS
bool imagecopymergegray (resource $dst_im, resource $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int
$src_h, int $pct)
DESCRIPTION imagecopymergegray(3) 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.
This function is identical to imagecopymerge(3) except that when merging it preserves the hue of the source by converting the destination
pixels to gray scale before the copy operation.
PARAMETERS
o $dst_im
-Destination image link resource.
o $src_im
-Source image link resource.
o $dst_x
- x-coordinate of destination point.
o $dst_y
- y-coordinate of destination point.
o $src_x
- x-coordinate of source point.
o $src_y
- y-coordinate of source point.
o $src_w
-Source width.
o $src_h
-Source height.
o $pct
- The $src_im will be changed to grayscale according to $pct where 0 is fully grayscale and 100 is unchanged. When $pct = 100 this
function behaves identically to imagecopy(3) for pallete images, except for ignoring alpha components, while it implements alpha
transparency for true colour images.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
EXAMPLES
Example #1
imagecopymergegray(3) usage
<?php
// Create image instances
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');
// Copy and merge - Gray = 20%
imagecopymergegray($dest, $src, 10, 10, 0, 0, 100, 47, 20);
// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);
imagedestroy($dest);
imagedestroy($src);
?>
PHP Documentation Group IMAGECOPYMERGEGRAY(3)
Check Out this Related Man Page
XCopyArea() XCopyArea()
Name
XCopyArea - copy an area of a drawable.
Synopsis
XCopyArea(display, src, dest, gc, src_x, src_y, width,
height, dest_x, dest_y)
Display *display;
Drawable src, dest;
GC gc;
int src_x, src_y;
unsigned int width, height;
int dest_x, dest_y;
Arguments
display Specifies a connection to an X server; returned from XOpenDisplay().
src Specify the source and destination rectangles to be combined. src and dest must have the same root and depth.
dest
gc Specifies the graphics context.
src_x Specify the x and y coordinates of the upper-left corner of the source rectangle relative to the origin of the source drawable.
src_y
width Specify the dimensions in pixels of both the source and destination rectangles.
height
dest_x Specify the x and y coordinates within the destination window.
dest_y
Description
XCopyArea() combines the specified rectangle of src with the specified rectangle of dest. src and dest must have the same root and depth.
If regions of the source rectangle are obscured and have not been retained in backing_store, or if regions outside the boundaries of the
source drawable are specified, then those regions are not copied. Instead, the following occurs on all corresponding destination regions
that are either visible or are retained in backing_store. If dest is a window with a background other than None, the corresponding regions
of the destination are tiled (with plane_mask of all 1's and function GXcopy) with that background. Regardless of tiling, if the destina-
tion is a window and graphics_exposures in gc is True, then GraphicsExpose events for all corresponding destination regions are generated.
If graphics_exposures is True but no regions are exposed, then a NoExpose event is generated.
If regions of the source rectangle are not obscured and graphics_exposures is False, one NoExpose event is generated on the destination.
XCopyArea() uses these graphics context components: function, plane_mask, subwindow_mode, graphics_exposures, clip_x_origin, clip_y_ori-
gin, and clip_mask.
Errors
BadDrawable
BadGC
BadMatch The src and dest rectangles do not have the same root and depth.
See Also
XClearArea(), XClearWindow(), XCopyPlane(), XDraw, XDrawArc(), XDrawArcs(), XDrawFilled(), XDrawLine(), XDrawLines(), XDrawPoint(), XDraw-
Points(), XDrawRectangle(), XDrawRectangles(), XDrawSegments(), XFillArc(), XFillArcs(), XFillPolygon(), XFillRectangle(), XFillRectan-
gles().
Xlib - Drawing Primitives XCopyArea()