我在試圖用PHP合併兩個圖像。用PHP合併兩個圖像
例如...我將如何將圖像放置在圖像兩上或與基本的PHP合併? 我已經嘗試了諸如水印這樣的東西,但它似乎沒有工作。
圖像的一個
圖像中的兩個
...並把它變成這樣? 最終結果:
我在試圖用PHP合併兩個圖像。用PHP合併兩個圖像
例如...我將如何將圖像放置在圖像兩上或與基本的PHP合併? 我已經嘗試了諸如水印這樣的東西,但它似乎沒有工作。
圖像的一個
圖像中的兩個
...並把它變成這樣? 最終結果:
使用GD庫或ImageMagick的。我搜索了'PHP GD合併圖像'並獲得了一些關於這樣做的文章。在過去,我所做的是創建一個大的空白圖像,然後使用imagecopymerge()將這些圖像粘貼到原始的空白圖像中。看看google上的文章,你會發現一些你可以馬上開始使用的源代碼。
您可以使用ImageMagick擴展名來完成此操作。我猜測combineImages()方法會做你想做的。
PHP中的GD Image Manipulation Library可能是使用PHP處理圖像的最佳選擇。嘗試其中一種圖像複製功能(imagecopy,imagecopymerge,...)。它們中的每一個以不同的方式組合2個圖像。有關更多信息,請參閱php documentation on imagecopy。
我從一個我做到了。
<?php
$dest = imagecreatefrompng('vinyl.png');
$src = imagecreatefromjpeg('cover2.jpg');
imagealphablending($dest, false);
imagesavealpha($dest, true);
imagecopymerge($dest, $src, 10, 9, 0, 0, 181, 180, 100); //have to play with these numbers for it to work for you, etc.
header('Content-Type: image/png');
imagepng($dest);
imagedestroy($dest);
imagedestroy($src);
?>
適用於具有透明度的圖像。 – Homework 2010-10-06 21:40:54
問題是關於合併兩個圖像,但是在這個指定的情況下,你不應該那樣做。你應該把內容圖像(即覆蓋)轉換成<img />
標記,並將樣式圖像轉換成CSS,爲什麼?
所以使用非常簡單的代碼:
<div class="cover">
<img src="/content/images/covers/movin-mountains.png" alt="Moving mountains by Pneuma" width="100" height="100" />
</div>
.cover {
padding: 10px;
padding-right: 100px;
background: url(/style/images/cover-background.png) no-repeat;
}
感謝這一點,但我要求PHP。仍然會保存這個。 – Homework 2010-10-07 00:57:44
是的。它更容易服務器,因爲它不必處理所有圖像。而且它對用戶來說也更快,因爲它始終沒有乙烯基的圖像部分。 – 2014-03-08 17:45:46
所選答案很有趣,因爲我們可以混合兩個圖像並在Facebook上分享。 – 2016-05-31 01:49:18
ImageArtist是我創作的純GD包裝,這使您能夠執行復雜的圖像操作非常輕鬆,你的問題的解決方案可以使用非常完成使用這個強大的圖書館幾步。
這裏是一個示例代碼。
$img1 = new Image("./cover.jpg");
$img2 = new Image("./box.png");
$img2->merge($img1,9,9);
$img2->save("./merged.png",IMAGETYPE_PNG);
這就是我的結果。
太棒了!謝謝。 – Homework 2017-11-13 03:05:11
只顯示或玉試圖生成圖像 – zod 2010-10-06 20:01:57
如果水印工作,但不給結果作爲你想,我的歪腦子裏想着3個圖像的組合。第一張圖片是空白的白色圖片,您將右側的第一張圖片和右側的第二張圖片合併。我知道寫代碼並不像發表評論那麼簡單。剛剛評論什麼凸輪在我心中 – zod 2010-10-06 20:16:29
你確定你需要PHP嗎?你可以輕鬆的CSS它 – devcline 2015-05-14 12:48:46