7

プロジェクトにphp Imagickクラスを使用しています

画像の重力を変えた画像を合成してみる

つまり、ターゲット画像を中央または上部中央に合成したいということです

私が使う

....
$imageOrg->setGravity(imagick::GRAVITY_CENTER); //I wrote this for an example, position will be set by the visitor
$imageOrg->compositeImage($over, Imagick::COMPOSITE_DEFAULT, 0, 0);
....

しかし、setGravity() または setImageGravity() 関数は機能しません。

助けてください!

4

1 に答える 1

14
$imageOrg->compositeImage($over, Imagick::COMPOSITE_DEFAULT, (((($imageOrg->getImageWidth()) - ($over->getImageWidth())))/2), (((($imageOrg->getImageHeight()) - ($over->getImageHeight())))/2));

基本的に、画像の左オフセットをコンテナの幅から合成画像の幅を差し引いて2で割った値に設定することで、水平方向に中央に配置するのに十分なオフセットになります。次に、高さについてもまったく同じことを行うと、垂直方向の中央に配置されます。

私は同じタイプの問題を抱えていました.Gravity設定は描画コンテキスト、つまりテキスト、注釈にのみ適用されると理解できます

于 2012-09-08T02:25:51.767 に答える