2

.NET 用のwww.imageresizing.netツールを使用して、その場でギャラリーとサムネイル画像を作成しています。このコンポーネントの優れた点は、URL を変更するだけで画像を再トリミングおよびサイズ変更できることです。

今、私が持っているのは、必要なアスペクト比 (9:5) のギャラリー画像で、以下で正しくレンダリングされています。

upload/289.jpg?crop=22,30,562,330&width=540&height=300

この上の定義されたクロップ座標22,30,562,330 (X1,Y1,X2,Y2)は、下から 22 ピクセル、下に 30 ピクセル、横に 562 ピクセル、下から 330 ピクセルの領域を選択していることに気付くでしょう。したがって、基本的には、より大きな画像の中央にある 540x300px の大まかなトリミング領域 (640x427 ですが、これは質問とは関係ありません)。

前述のように、これは適切に表示され、正しいアスペクト比で表示されます。次に、次を使用して URL をサムネイル バージョンに変更できます。

upload/289.jpg?crop=22,30,562,330&width=120&height=67

縦横比を維持するための正しい幅と高さは120x67 (正確には 120.6x67 ピクセル)であり、画像をスケーリングしているだけなので、クロップ座標は明らかに同じままであることがわかりました。これをもう一度見ると、物事は素晴らしく見えます。

テスト1

(画像の境界が分かるように灰色の背景に配置しました)

ただし、私の問題は、どちらかの側から 10 ピクセルをノックして、幅を100洋ナシの形に設定したい場合です。私が使用している画像ギャラリーでは、4 つの画像に収まる必要があるため、これを行いたいと考えています。

これを指定すると、画像が表示されますが、上部と下部に 2 つの小さなバーがある白いレターボックスに表示されます。これは、左側のトリミングに 10 ピクセルを追加していないか、トリミングから 10 ピクセルをまだ減算していないためです。権利:

upload/289.jpg?crop=22,30,562,330&width=100&height=67

テスト2

だから明らかに私は自分の作物を調整し、少しトリミングする必要がありX1 (22)ますX2 (562)。ただし、 120 から 100 への幅の低下を補正する必要があると思われる32に設定した場合でも、これはレターボックスを保持するため、それほど簡単ではないようです。552

両側から必要な 10 ピクセルをスケーリングまたは何か (?) の前に適用する必要があると思いますが、このアルゴリズムに取り組む方法がわかりません。ここで本当に迷っています!!

わかる?ここで画像操作/数学のウィザードが私を助けてくれますか?

4

1 に答える 1

1

&mode=cropモジュールに計算を行わせるために追加するだけです(そして、V3.1 +を使用していることを確認してください)。

混乱は、トリミング座標(デフォルト)が元の画像を基準にしており、幅/高さの値が画像の拡大縮小されたサイズであるという事実に起因していると思います。つまり、幅の設定から10ピクセル離れると、その特定の画像のトリミング長方形では50ピクセル程度になります。を使用するcropxscaleと、cropyscaleこれらのクロップ値の解釈方法を変更できます。&cropxscale=100&cropyscale=100それらをパーセンテージにし&cropxscale=120&cropyscale=67ますが、拡大縮小された画像のサイズに関連するトリミング座標を指定できます。

さらに、V3.1以降では、手動でトリミングすることも自動でトリミングすることもできます。

元。?crop=22,30,562,330&width=100&height=67&mode=crop

モジュールは最初にトリミング設定を適用し、次に再度トリミングに進んで、withとheightの仕様に完全に一致することを確認します。正確な幅と高さが必要ない場合は、代わりに&mode=maxを使用できます。

また、アンカー設定で自動トリミングの適用方法を調整できます。

あなたのトリミング座標がどこから来ているのか、または残りの状況が何であるのか完全にはわかりませんが、いつものように、support@imageresizing.netで連絡することができます。

imageresizing.net/docs/referenceでコマンドリファレンスを確認することもできます。

理論は数学を多用する可能性があるため、cropコマンドを一緒に使用する例のページを追加することもできます。この投稿を見つけるのに時間がかかったことをお詫びします。私はあなたが電子メールを送っていたらよかったのにsupport@imageresizing.net、私はあなたの質問にすぐに答えることができたでしょう。

いつものように、私が手助けできることがあれば、私に電子メールを送るか、SOに投稿して、リンクを私に電子メールで送ってください:)私はhttp://imageresizing.netドキュメントを1回あたり5〜20回更新します物事をより明確またはより詳細にするために平均して1週間です。そのため、誰かが混乱しているときはいつでも興味があります。これは通常、ドキュメントが機能する必要があるか、より多くの場所からリンクする必要があることを意味します。

于 2012-01-07T07:40:26.623 に答える