我有n圖像,並且想用php代碼創建一個圖像。我使用imagecopymerge(),但無法做到。請舉例子?PHP - 從圖像創建一個圖像
3
A
回答
8
代碼:
$numberOfImages = 3;
$x = 940;
$y = 420;
$background = imagecreatetruecolor($x, $y*3);
$firstUrl = '/images/upload/photoalbum/photo/1.jpg';
$secondUrl = '/images/upload/photoalbum/photo/2.jpg';
$thirdUrl = '/images/upload/photoalbum/photo/3.jpg';
$outputImage = $background;
$first = imagecreatefromjpeg($firstUrl);
$second = imagecreatefromjpeg($secondUrl);
$third = imagecreatefromjpeg($thirdUrl);
imagecopymerge($outputImage,$first,0,0,0,0, $x, $y,100);
imagecopymerge($outputImage,$second,0,$y,0,0, $x, $y,100);
imagecopymerge($outputImage,$third,0,$y*2,0,0, $x, $y,100);
imagejpeg($outputImage, APPLICATION_PATH .'/images/upload/photoalbum/photo/test.jpg');
imagedestroy($outputImage);
2
感謝kruksmail,
我適應特定項目中的圖像可能是未知的答案。所以我讓你的答案與一系列圖像一起工作。
它還可以指定您想要的行數或列數。我添加了一些意見,以幫助也。
$images = array('/images/upload/photoalbum/photo/1.jpg','/images/upload/photoalbum/photo/2.jpg','/images/upload/photoalbum/photo/3.jpg');
$number_of_images = count($images);
$priority = "columns"; // also "rows"
if($priority == "rows"){
$rows = 3;
$columns = $number_of_images/$rows;
$columns = (int) $columns; // typecast to int. and makes sure grid is even
}else if($priority == "columns"){
$columns = 3;
$rows = $number_of_images/$columns;
$rows = (int) $rows; // typecast to int. and makes sure grid is even
}
$width = 150; // image width
$height = 150; // image height
$background = imagecreatetruecolor(($width*$columns), ($height*$rows)); // setting canvas size
$output_image = $background;
// Creating image objects
$image_objects = array();
for($i = 0; $i < ($rows * $columns); $i++){
$image_objects[$i] = imagecreatefromjpeg($images[$i]);
}
// Merge Images
$step = 0;
for($x = 0; $x < $columns; $x++){
for($y = 0; $y < $rows; $y++){
imagecopymerge($output_image, $image_objects[$step], ($width * $x), ($height * $y), 0, 0, $width, $height, 100);
$step++; // steps through the $image_objects array
}
}
imagejpeg($output_image, 'test.jpg');
imagedestroy($output_image);
print "<div><img src='test.jpg' /></div>";
+0
感謝您的這一點,我能夠適應這個問題,以解決我有一個問題,我有 –
+0
2.5年並仍然有幫助。謝謝!僅供參考,如果您想從中心裁剪圖像而不是左側邊緣,可以將'imagecopymerge()'方法修改爲:imagecopymerge($ output_image,$ image_objects [$ step],($ width * $ x),($ height * $ y),imagesx($ image_objects [$ step])/ 2 - $ width/2,0,$ width,$ height,100);' – justinl
相關問題
- 1. PHP - 創建一個從其他圖像
- 2. PHP:如何從另一個PNG圖像創建圖像
- 3. 創建一個從像素的圖像
- 4. PHP圖像 - 使用PHP創建的另一個圖像上添加圖像
- 5. 創建PHP創建圖像
- 6. PHP創建圖像
- 7. (iphone)我從圖像創建一個新的圖像時,創建一個泄漏?
- 8. 從JSON文件創建一個圖像?
- 9. 從朋友的個人資料圖像創建圖像 - Facebook/PHP
- 10. 從2張圖像創建圖像
- 11. 使用PHP從一個圖像文件夾創建縮略圖
- 12. 創建一個圖像庫
- 13. Java - 創建一個圖像
- 14. 創建一個tiff圖像
- 15. 創建一個圖像庫
- 16. ASP.net創建一個圖像
- 17. 從較大的圖像創建一個子圖像
- 18. JavaFX從現有的圖像創建一個新的圖像
- 19. 如何從另一個圖像創建新圖像 - ImageMagick
- 20. 從許多背景圖像中創建一個背景圖像
- 21. 從圖像創建一個數組
- 22. 從JPanel創建一個小圖像
- 23. 從圖像創建位圖
- 24. 從圖形創建圖像
- 25. 創建一個高亮圖像地圖
- 26. 從裁剪圖像創建新圖像
- 27. 如何創建一個tabView像圖像
- 28. 在php中創建圖像
- 29. 使用PHP創建圖像
- 30. PHP/JS圖像創建
請發表您的評論。 – Nadh
在這裏看到http://stackoverflow.com/questions/1394061/how-to-merge-transparent-png-with-image-using-php –
如果你想複製和重新調整大小的圖像遵循教程http ://blog.webtech11.com/2012/04/21/upload-and-resize-an-image-with-php.html –