• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 303
  • Last Modified:

Image manipulation and PHP

I have 2 images:

image1.jpg (650 x 300 px)
image2.jpg (10 x 10 px)

Basically I want PHP to place image2.jpg over the top of image1.jpg, in a certain place (e.g. 100w, 100h), then save the whole thing as a JPEG.

Any ideas how I can about doing this?

Many thanks.
0
DReade83
Asked:
DReade83
  • 4
  • 3
2 Solutions
 
Ray PaseurCommented:
http://us2.php.net/manual/en/function.imagecopymerge.php should get you started.  Can you please post the code you have so far?  Thanks, ~Ray
0
 
DReade83Author Commented:
I haven't any code just yet. Is it possible to add some text over the top of the second image, and then save the whole thing as one image?
0
 
Ray PaseurCommented:
Yes, you can stack text or other images on top of a background image.  That function above does it for image stacking.  The imagestring() or imagestringup() functions can do it for text.  Then you can create the file with imagejpeg() and you're done.  There is a lot to be found in the GD functions for PHP.

Have a quick read of the functions on this page, and you will find almost everything you could desire!
http://us2.php.net/manual/en/ref.image.php

HTH, ~Ray
0
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

 
DReade83Author Commented:
Thanks Ray! :-)
0
 
Ray PaseurCommented:
Thanks for the points.  Here is a little code snippet that shows what I do to create a little image of a "captcha" number string.  If you look up the functions in the top part, you will get the gist of it quickly.

Cheers, ~Ray
<?php // CAPTCHA_NUMBER.PHP GENERATES A PICTURE OF A NUMBER
 $data	= base64_decode($_GET['dt']);
 $im	= imagecreate(46,13);
 $bg	= imagecolorallocate($im, 255,255,255);
 $gray	= imagecolorallocate($im, 188,188,188);
 $text	= imagecolorallocate($im, 178,34,34);  // firebrick
 imagestring($im,5,4,0,$data,$text);
 imageline($im,4,12,38,0,$gray);
 imagepng($im);
 imagedestroy($im);
?>
 
 
 
 
 
 
<html> <!-- GOES IN THE FORM SCRIPT -->
Type
<img style="display:inline;" src=captcha_number.php?dt=<?php $x = mt_rand(1000,10000); echo base64_encode($x);?> />
here:
<input type=hidden name='_newMd5' value="<?=md5($x)?>" />
&nbsp;
<input name="_newCode" type="text" maxlength="64" size="6" autocomplete="off" />
 
 
 
 
 
 
 
<?php // GOES IN THE ACTION SCRIPT
$newCode	= $_POST["_newCode"];
$newMd5		= $_POST["_newMd5"];
$newCode	= md5($newCode);
if ($newCode != $newMd5)
{
	die('Security code number did not match');
}

Open in new window

0
 
DReade83Author Commented:
Nice! I'll have a go! Thanks mate!
0
 
Ray PaseurCommented:
'Welcome!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now