尋找2周的答案。我有一個工具可以直接在網頁瀏覽器中調整圖像的對比度和亮度,並使用CSS3屬性顯示結果。但我也應該將這些修改應用於服務器端的原始JPG並將其輸出回給用戶。服務器端的CSS亮度/對比度
我該怎麼辦?我正在使用PHP + Imagemagick,但無法找到執行此轉換的方法。請幫幫我。
尋找2周的答案。我有一個工具可以直接在網頁瀏覽器中調整圖像的對比度和亮度,並使用CSS3屬性顯示結果。但我也應該將這些修改應用於服務器端的原始JPG並將其輸出回給用戶。服務器端的CSS亮度/對比度
我該怎麼辦?我正在使用PHP + Imagemagick,但無法找到執行此轉換的方法。請幫幫我。
我發現了ImageMagick的一個很棒的功能,它可以讓我們對亮度和對比度做任何事情。這是「級」。
但它不允許直接應用CSS3亮度和對比度值。因此,我做了一個很好的調查並計算了特殊公式,將CSS亮度和對比度值轉換爲「-level」選項的「黑點」和「白點」參數。請檢查this page(抱歉,俄語,但您可以使用谷歌翻譯)。如果您不想閱讀所有這些公式,請滾動到頁面底部。
你需要將它們與
bool Imagick::modulateImage (float $brightness , float $saturation , float $hue)
功能將您的客戶端的亮度設置,然後將原來的JPG。更多this
的CSS3 brightness
濾波器簡單地乘以給定的常量。[1] [2爲了實現相同的跟ImageMagick的效果的顏色值,可使用-evaluate Multiply
[3]。或者,-function Polynomial
[4]可用於相同的效果。其他特徵如-level
[5] [6]和-brightness-contrast
[7] [8]不太合適,因爲它們將給定常數的顏色乘以的逆。
CSS屬性filter: brightness(80%)
對應於Imagemagick選項-evaluate Multiply .8
。
CSS屬性filter: brightness(120%)
對應於Imagemagick選項-evaluate Multiply 1.2
。
在PHP中設置Imagemagick的選項(或從PHP遷移到更好的東西)是讀者的練習。
服務器操作和瀏覽器操縱的圖像將永遠不會相同,這對我來說會殺死有用的東西。 – 2014-01-09 19:15:05
@Dagon你很不對,請閱讀我的回答。我希望這可以幫助改變你的意見。 – Epsiloncool