私がイメージを持っているとしましょう
そのサイズは
高さ: 150px
幅: 100px.
その一部を取得したいのですが、高さ全体としましょうが、幅は30-80px
. そうなる
高さ: 150px
幅: 100px.
私はそれをスケーリングしたくありません。その一部を切り取りたい。(編集していただきありがとうございます。トリミングと呼ばれます)。
どうやってするの?
jQuery はそのような画像要素を変更できません。最善の選択肢は、overflow:hidden
カットされた印象を与えなければならない親要素内に配置することです。clip
または、 CSS ルールを使用することもできます。実際に新しい画像を作成したい場合は、jQuery を使用して画像の座標を収集し、それらをサーバー側スクリプトにパッチして実際に重い作業を行い、新しい画像を非同期的にフィードすることができます。
画像編集は JavaScript の範囲を超えています。画像の特定の部分だけを表示することはできますが、実際に画像ファイルを変更することはできません:
<div id="imgwrapper"><img src="blah.jpg" width="100" height="150"></div>
#imgwrapper {
width: 100px;
height: 50px;
overflow: hidden;
position: relative;
}
#imgwrapper img {
position: absolute;
top: -30px;
left: 0;
}
このソリューションでは、内側の画像はabsolute
ly に配置されていますが、外側の div はly に配置されていることに注意してください。これは、絶対配置されたped 画像relative
よりもページ レイアウトに適している可能性があります。clip
あなたの最善の策は、html キャンバスを試して使用することだと思います。
どちらもソース画像の一部をレンダリングできます。 getImageData() 関数を使用すると、画像データを読み戻して操作することもできます (画像全体またはその一部)。