2013-02-22 49 views
1

我正在嘗試使用以下PHP腳本調整圖片大小。使用imagecopyresampled和imagejpeg無法調整大小

$tn = imagecreatetruecolor(1836, 3264); 
$newImage = imagecreatefromjpeg('user/354010050076877/2.jpg'); 
imagecopyresampled($tn, $newImage, 0, 0, 0, 0, 1836, 3264, 739, 1162); 
imagejpeg($tn, 'MyFile.jpg'); 

圖像以MyFile.jpg創建,但是它仍然是原來的大小。

我也試圖與更換4號線...

file_put_contents('MyFile.jpg', $tn); 

當我嘗試它返回

「警告:file_put_contents():提供的資源是不是在/ home有效的流資源/ content/01/7258201/html/imgTools/resize.php on line 6「

我需要在腳本中更改以獲取圖像大小調整功能?

編輯:

我甚至切換他們這是不是真的正確地調整大小,所以我還在尋找一個很好的修復了這個混合後上「imagecopyresampled」不過值的順序。 See my own answer瞭解更多詳情。

+0

什麼是源和目標圖像大小? – Mike 2013-02-22 22:33:23

+0

自你評論以來,我做了一個編輯,但原始的是1836x3264,新的是739x1162。 – 2013-02-22 22:35:52

回答

3

試試這個:

$tn = imagecreatetruecolor(739, 1162); // the first line in your script 
+0

我正要發佈這個 – Mike 2013-02-22 22:41:42

0

我測試了你的腳本(那個使用imagejpeg),它在我的結尾工作。所以可能在你的GD庫配置/設置的東西...

+0

它爲我運行,並創建一個圖像,但創建的圖像不是739x1162 – 2013-02-22 22:27:55

+0

請參閱我自己的更新問題的答案 – 2013-02-22 22:32:29

0

問題是我已經把新的寬度和高度的錯誤值,並將它們與舊的改變混合。

imagecopyresampled($tn, $newImage, 0, 0, 0, 0, 1836, 3264, 739, 1162); 

imagecopyresampled($tn, $newImage, 0, 0, 0, 0, 739, 1162, 1836, 3264); 

以爲它仍然沒有完全工作,因爲它重新調整舊映像到一個更大的黑色空間。

enter image description here

+0

您應該編輯您的問題,而不是發佈不作爲答案的東西。如果你不能接受它,這是評論/更新。 – Mike 2013-02-22 22:40:04