|
|
 |
imagecopymerge (PHP 4 >= 4.0.1, PHP 5) imagecopymerge -- 拷贝并合并图像的一部分 说明int imagecopymerge ( 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)
将 src_im 图像中坐标从
src_x,src_y
开始,宽度为 src_w,高度为 src_h
的一部分拷贝到
dst_im 图像中坐标为
dst_x 和 dst_y
的位置上。两图像将根据 pct
来决定合并程度,其值范围从 0 到 100。当 pct = 0
时,实际上什么也没做,当为 100 时本函数和 imagecopy() 完全一样。
stefan dot wehowsky at profilschmiede dot de
27-Jul-2001 12:32
This function is intended to serve as an example for the
"imageCopyMerge"-function.
I hope it will help some of the
less experienced php-coders here.
I wrote it to mark objects of a real
estate broker as "sold" by copying the "sold"-picture
right into the picture of the
house.
<?php
//$sourcefile = Filename of the picture
into that $insertfile will be inserted.
//$insertfile = Filename of the
picture that is to be inserted into $sourcefile.
//$targetfile =
Filename of the modified picture.
//$transition = Intensity of the
transition (in percent)
//$pos = Position where $insertfile will be
inserted in $sourcefile
// 0 = middle
// 1 = top
left
// 2 = top right
// 3 = bottom right
// 4 =
bottom left
// 5 = top middle
// 6 = middle right
// 7
= bottom middle
// 8 = middle left
//
//
function
mergePix($sourcefile,$insertfile, $targetfile,
$pos=0,$transition=50)
{
//Get the resource id磗 of the
pictures
$insertfile_id =
imageCreateFromJPEG($insertfile);
$sourcefile_id =
imageCreateFromJPEG($sourcefile);
//Get the sizes of both
pix
$sourcefile_width=imageSX($sourcefile_id);
$sourcefile_height=imageSY($sourcefile_id);
$insertfile_width=imageSX($insertfile_id);
$insertfile_height=imageSY($insertfile_id);
//middle
if(
$pos == 0 )
{
$dest_x = ( $sourcefile_width / 2 ) - (
$insertfile_width / 2 );
$dest_y = ( $sourcefile_height / 2 ) - (
$insertfile_height / 2 );
}
//top left
if( $pos == 1
)
{
$dest_x = 0;
$dest_y = 0;
}
//top
right
if( $pos == 2 )
{
$dest_x = $sourcefile_width -
$insertfile_width;
$dest_y = 0;
}
//bottom
right
if( $pos == 3 )
{
$dest_x = $sourcefile_width -
$insertfile_width;
$dest_y = $sourcefile_height -
$insertfile_height;
}
//bottom left
if( $pos == 4
)
{
$dest_x = 0;
$dest_y = $sourcefile_height -
$insertfile_height;
}
//top middle
if( $pos == 5
)
{
$dest_x = ( ( $sourcefile_width - $insertfile_width ) / 2
);
$dest_y = 0;
}
//middle right
if( $pos == 6
)
{
$dest_x = $sourcefile_width -
$insertfile_width;
$dest_y = ( $sourcefile_height / 2 ) - (
$insertfile_
| |