2013-12-15 39 views
-2

我有水印,我想適應圖像。水印尺度

我想水印總是在左頂部和比較,圖像

我嘗試用這種

$scale = min(
    $watermark_o_width/$imageSize[0], $watermark_o_height/$imageSize[1] 
); 

$newWatermarkWidth = $watermark_o_width * $scale; 
$newWatermarkHeight = $watermark_o_height * $scale; 

但大小是錯了,它是偉大的10%!

+0

到底出了什麼地方? 「錯」是什麼意思? –

+0

您需要至少在一個軸上根據圖像大小計算10%。另一個必須保持動態,除非你能忍受失真的水印(通常沒有人想要)。 – SquareCat

+0

在小圖像水印非常大,在很大的圖像很少 – Twinsen

回答

1

抓取水印比:

$watermark_ratio = $watermark_old_width/$watermark_old_height; 

確保水印的寬度是圖像寬度的10%:

$watermark_new_width = $image_width * 0.1; 

計算所需的水印高度:

$watermark_new_height = $watermark_new_width/$watermark_ratio; 

如果你想計算其他軸,只需使用

$watermark_new_height = $image_height * 0.1; 

,然後計算所需的寬度:

$watermark_new_width = $watermark_new_height * $watermark_ratio; 
+0

好,但我的水印失去質量 – Twinsen

+0

你用什麼庫來進行圖像處理? GD? ImageMagick的? – SquareCat

+0

GD使用imagecopyresized和imagecopyresampled – Twinsen