2016-07-27 39 views
1

我嘗試指定Fatfree圖像處理的品質因子。根據文檔(https://fatfreeframework.com/image#dump)轉儲方法可能需要一個整數值,以指定的質量:具有品質因子的無脂圖像轉儲

$img->dump($fileType, 75) // $filetype is 'jpeg' 

,但我得到了以下錯誤:

imagejpeg(): Invalid 2nd parameter, it must [sic] a filename or a stream

[...base.php:2032] Base->error(500,'imagejpeg(): Invalid 2nd parameter, it must a filename or a stream')

[...index.php:712] Image->dump('jpeg', 75)

傳遞品質因數作爲字符串代替int擺脫了消息,但結果圖像然後是空的。 (我知道JPEG和PNG轉儲使用不同的質量/壓縮率值。)

任何想法,我的錯誤是什麼?謝謝,

+0

看來,這個錯誤是因爲觸發有*無法被傾銷。你可以分享你的代碼的開始? – xfra35

+0

圖像對象被創建。 [$ img =新的圖像($源)] ...然後調整大小和傾倒。當我省略品質因數時,該代碼起作用:$ img-> dump($ fileType)...轉儲圖像,但不幸的是,在所有情況下,默認質量級別都不夠。 – jayo02

+0

文檔和庫之間存在矛盾。該方法需要與本地[imagejpeg()](http://php.net/manual/en/function.imagejpeg.php)函數相同的簽名,所以實際上應該調用'$ img-> dump($ fileType, NULL,75)'。我已經提交了一個[問題](https://github.com/bcosca/fatfree-core/issues/146),以便文檔或框架得到修復。 – xfra35

回答

0

文檔和庫之間存在矛盾。圖書館期待一個額外的NULL參數,與原生imagejpeg()函數完全相同。

現在已經在fixed的框架中,所以你可以下載edge版本的框架或等待下一個版本。

作爲總結:

F3 < = 3.5.1

$img->dump($fileType, NULL, 75) 

F3> 3.5.1

$img->dump($fileType, 75) 
+0

再次感謝,我修補了我的3.5.1版 – jayo02