2010-05-27 72 views
1

http://i.imgur.com/foT9u.jpg我需要一些幫助PHP裁剪圖像(GD)

使用圖像爲例,這裏就是我需要做的:

  • 作物藍色方塊具有相同的比例比那樣的黑色方塊
  • 從這樣做,我應該能夠調整藍色方塊以適應黑色方塊而不伸展它 - 它會保留它的比例。

注:藍色正方形必須從中心'裁剪'。原始中心應該保留在作物之後的中心(例如,它不能從左上角切下)。

這裏就是我想需要做的事情(使用,景觀,藍色正方形爲例):

  • 圖出來的黑色方塊寬度之差與高度
  • 弄清楚藍色方塊寬度和高度之間的差異
  • 這應該告訴我用多少「頂部偏移量」來裁剪藍色方塊的程度
  • 一旦將其裁剪以適合黑色方塊的比例,調整大小

我一直在瞎搞類似代碼:

if (BLACK_WIDTH > BLACK_HEIGHT) 
{ 
    $diffHeight = BLACK_WIDTH - BLACK_HEIGHT; 
    $newHeight = $blue_Height - $blue_Height; 

    echo $newHeight; 
} 

而使用Photoshop,試圖得到這個應該怎麼做了的感覺,但它仍然失敗>。 <

我應該怎麼做呢?我怎樣才能弄清楚需要裁剪多少(取決於藍色方塊是風景還是肖像)?那我如何獲得偏移量以保留藍色方塊中心?

編輯:錯字

回答

1
  • 找到您所需的作物的黑色方形的寬度。示例所需寬度=> $ x
  • 找到藍色方塊的比例($ r)。因此,調整後你會得到新的寬度=> $ Y
  • 創建功能,例如deceaseSize函數,該函數會做一些像一個循環,循環,直到$ X == $ Y

  • 對不起,忽略我的答案。

+0

我不能刪除我自己的答案。 – 2010-05-27 03:01:53

+0

沒有比循環更好的選擇嗎?如果我從一張我想縮小到更小的大圖像開始。一次縮小圖像1像素的循環可能會導致一些速度問題:/ – dave 2010-05-27 03:04:25