2

PHPの画像操作で困っています。彼らが言うように、絵は千の言葉を描くので、以下は私の状況を説明するのに役立つイメージです.

ステップ1

キャンバス (車の写真) とコンテナー (赤い四角形) があり、上の画像が初期設定です。初期設定について私が知っている詳細は次のとおりです。

  1. キャンバスの寸法 (幅と高さ)
  2. コンテナの寸法(幅と高さ)
  3. キャンバスの左上に対するコンテナーの位置 (x, y)

次に、反時計回りに特定の角度でキャンバスに回転を適用します。回転の中心がキャンバス自体の中心であると仮定します。

ステップ2

このステップの時点で、私は 2 つの追加の詳細を知っています。

  1. 回転角度
  2. 回転方向(反時計回り)

注意事項:

  1. コンテナー自体は回転せず、キャンバスだけが回転しました。
  2. キャンバスの寸法が変更されている可能性があります。この場合、キャンバスの幅と高さの両方が増加しています。

ローテーション後、私がもう知らない詳細:

  1. キャンバスの寸法
  2. キャンバスの左上に対するコンテナの位置

次に、コンテナを使用してキャンバスを現在の位置でトリミングします。下の画像は、php を使用して達成しようとしている結果です。

ステップ 3

私は以前にPHPで画像操作をしたことがありません。コード例は大歓迎です。

4

2 に答える 2

2

ここで答えを見つけました

JS と PHP を使用した画像のトリミングと回転

回転後にキャンバスの寸法を手動で取得し、新しいキャンバスの寸法に基づいてコンテナの相対位置を再計算する必要があることを知りませんでした。

于 2013-02-24T17:35:58.633 に答える
0

Andy Croxall は、Smashing Magazine で PHP を使用した画像操作の非常に優れた概要を書いています: http://coding.smashingmagazine.com/2011/04/05/image-manipulation-with-jquery-and-php-gd/

しかし、ここで車輪の再発明をわざわざ行うつもりはありません。Cloudinary がほとんどすべての作業を行ってくれます。無料の 500MB プランもあり、テストして結果を比較できます。画像操作機能の概要は次のとおりです: http://cloudinary.com/features#image_manipulation

幸運を !オハッド

于 2013-02-24T18:19:05.483 に答える