ترکیب دو عکس در php

peyman136

کاربر متخصص مولتی مدیا بیلدر
سلام دوستان
من میخوام دو تا عکس با فرمت jpg v, با هم ترکیب کنم به این صورت که عکس اول به عنوان پس زمینه باشه و تصویر دوم بعد از تغییر اندازه روی یه منطقه از تصویر پس زمینه قرار بگیره اگه دقیق تر بگم یه چیزی مثل کارت عضویت که عکس کارت خام به عنوان پس زمینه استفاده میشه و عکس شخص (که ممکنه توی ابعاد مختلفی باشه) بعد از تغییر اندازه به اندازه ای که ما براش تعیین میکنیم روی کارت قرار بگیره و تصویر ترکیب شده رو فقط نمایش بده نمیخوام ذخیره بشه
نمدونم کارایی که کردم چقدر درست یا اشتباه بوده اما از imagecreate ، imagecopyresampled و imagecopyresized استفاده کردم اما نتیجه نگرفتم

موفق باشید
 

ahmad_m1234

Active Member
سلام
من چند مدت پیش همچنین پروژه ای داشتم می توانید لینک آن در پایین ببینید
http://sibilebabat.com
برای این کار دو تابع ساختم که می توانید استفاده کنید
PHP:
<?php
		function watermarkresize($image_path,$new_width,$new_height)
		{
			
			
			list($width_orig, $height_orig) = getimagesize($image_path);
			$image = imagecreatefrompng($image_path);
			$newImg = imagecreatetruecolor($new_width,$new_height);
			imagealphablending($newImg, false);
			imagesavealpha($newImg,true);
			$transparent = imagecolorallocatealpha($newImg, 255, 255, 255, 127);
			imagefilledrectangle($newImg, 0, 0, $new_width,$new_height, $transparent);
			imagecopyresampled($newImg, $image, 0, 0, 0, 0, $new_width,$new_height, $width_orig, $height_orig);
			
			return $newImg;
		}
		
		
		function addWatermarkImage($img,$image_path, $vertical_position, $horizontal_position,$top_pos_resolution,$left_pos_resolution,$new_width,$new_height, $margin = 5)
		{
			if( file_exists($image_path) )
			{

				$water = watermarkresize($image_path,$new_width,$new_height);
				
					$x_padd1 = $horizontal_position;
					$y_padd1 = $vertical_position;

									
				
					imagecopy($img, $water, $x_padd1-$left_pos_resolution, $y_padd1-$top_pos_resolution, 0, 0, imagesx($water), imagesy($water));

			}
			else
			{
				die("Not Found Image");
			}
		}
?>
تابع watermarkresize برای تغییر اندازه واترمارک می باشد و آرگومان های شامل آدرس عکس واترمارک و طول و عرض جدید می باشد
تابع addWatermarkImage برای اضافه کردن عکس واترمارک می باشد که آرگومان های شامل آدرس عکس پس زمینه و آدرس عکس واترمارک و موقعیت عمودی و موقعیت افقی و موقعیت رزولیشن بالا و موفقیت رزولیشن چپ و طول واترمارک و عرض واترمارک می باشد

برای ذخیره کردن عکس می توانید از توابع زیر استفاده کنید (البته بستگی به نوع عکس دارد)
PHP:
								case "PNG":
							imagepng($img, $path . $name);
							break;
						
						case "JPG":
							imagejpeg($img, $path . $name, $quality);
							break;
							
						case "JPEG":
							imagejpeg($img, $path . $name, $quality);
							break;
						
						case "GIF":
							imagegif($img, $path . $name);
							break;
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا