在我有我的主要圖像的文件夾中,我需要一些代碼在PHP中讀取文件夾中的所有圖像,並調整它沒有擠壓或使用php strech,並將調整大小的圖像放在目標文件夾。使用php調整圖像的尺寸或用strech進行調整?
感謝
在我有我的主要圖像的文件夾中,我需要一些代碼在PHP中讀取文件夾中的所有圖像,並調整它沒有擠壓或使用php strech,並將調整大小的圖像放在目標文件夾。使用php調整圖像的尺寸或用strech進行調整?
感謝
由百分之調整寬度和高度:
newwidth =寬*百分之%
newheight =身高*百分之%
如果你需要一個給定的寬度newwidth例如,然後計算newwidth/width * 100的百分比,並根據得到的百分比計算高度,如上所述。
用ImageCreateFromJPEG打開你的圖片,用ImageCreateTrueColor創建一個新的空白圖像,並將原始圖像的ImageCopyResampled的內容複製到新的圖像。您可以使用imageJPEG保存。就像這樣:
<?php $imageInfo = getImageSize('image.jpg'); $imageWidth = $imageInfo[0]; $imageHeight = $imageInfo[1]; $thumbWidth = round($imageWidth/2); $thumbHeight = round($imageHeight/2); $gdImage = imageCreateFromJPEG('image.jpg'); $gdThumb = imageCreateTrueColor($thumbWidth, $thumbHeight); // thumbnail size here imageCopyResampled($gdThumb, $gdImage, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imageWidth, $imageHeight); imageJPEG($gdThumb, 'image_thumb.jpg', 80); imageDestroy($gdImage); imageDestroy($gdThumb); ?>
謝謝,但首先我必須從maif文件夾讀取然後寫入目標文件夾,我喜歡這個過程是在一個腳本中,所以如果我有500個圖像在文件夾中,然後執行目標文件夾中的代碼我有500調整大小,如果你寫這部分代碼我很感激。 – Kaveh 2009-11-28 00:52:14
執行一次執行許多文件的問題是php的默認最大執行時間爲30秒(?)。所以你不能以這種方式在一次運行中創建所有圖像。解決這個問題的一個好方法是每次運行只能運行5或10個文件,並讓腳本運行多次(或者使用cronjob)。 您可以使用'readdir'函數從一個目錄中讀取文件(請參閱手冊中的示例)。我建議你先在存儲文件名的地方創建一些數據庫或文本文件,並在每次運行腳本時更新該文件。 – poke 2009-11-30 12:41:31
如果你的意思是調整到你想要不作任何改變的寬度和高度,只是忘了..你得到的是通過調整relativelly至寬度或高度mantaining方面無線電最好的,(幾乎)從來都... – yoda 2009-11-27 18:12:28
但一些網站如何調整他們的圖像作爲一個固定的大小,它是像huffingtonpost.com他們有一些小尺寸74x58請看。 – Kaveh 2009-11-28 12:15:11