ウェブ用のスクリプトでは新しいです。私は六角形(添付画像)の形で(カスタム提供)寸法で画像を切り抜くJavaScriptまたはJqueryプラグインを探しています。 CSSで行うことができれば理想的ですが、そうでなければJSまたはJQueryプラグインが機能するかもしれません。ここでJSプラグインまたはCSSを六角形でカットするCSS
-2
A
答えて
2
あなたが望む機能で私の試みです:
function polygonalCrop(options) {
function extend(a, b){
b=b||{};
for(var key in b)
if(b.hasOwnProperty(key))
a[key] = b[key];
return a;
}
options=extend({
url:null,
sides:8,
angle:0,
centerX:null,
centerY:null,
radius:null,
outlineColor:null,
outlineThickness:null,
success:function(url){},
fail:function(ev){}
},options);
if (!options.url) throw 'options needs an image URL as url property';
var img=new Image();
img.setAttribute('crossOrigin', 'anonymous');
img.onload=function() {
var w=this.width;
var h=this.height;
var canvas=document.createElement('canvas');
canvas.width=w;
canvas.height=h;
var ctx=canvas.getContext('2d');
if (options.centerX===null) {
options.centerX=w/2;
}
if (options.centerY===null) {
options.centerY=h/2;
}
var ang=2*Math.PI/options.sides;
var len=Math.sin(ang/2)*2;
if (options.radius===null) {
options.radius=Math.min(w/2,h/2)*Math.cos(ang/2);
}
ctx.translate(options.centerX,options.centerY);
ctx.rotate(options.angle);
if (options.outlineThickness) ctx.lineWidth=options.outlineThickness;
if (options.outlineColor) ctx.strokeStyle=options.outlineColor;
ctx.moveTo(-len/2,-options.radius);
for (var i=0; i<2*Math.PI; i+=ang) {
ctx.rotate(ang);
ctx.lineTo(len/2,-options.radius);
}
ctx.closePath();
if (options.outlineThickness && options.outlineColor) ctx.stroke();
ctx.clip();
ctx.rotate(2*Math.PI-i-options.angle);
ctx.translate(-options.centerX,-options.centerY);
ctx.drawImage(this,0,0);
options.success(ctx.canvas.toDataURL());
};
img.onerror=function() { alert('there was an error loading the image'); };
img.src=options.url;
}
それはそれはあなたのURLとトリミングされた面積の値を取り、トリミングされた画像のデータURLを返すん何。 https://jsfiddle.net/psrec1b5/2/
+0
ありがとうございました...ただ簡単な質問です。元の投稿で私が上で共有したイメージとまったく同じように見えるようにするにはどうすればよいですか? – user3772369
+0
私は答えとフィドルを更新しました。 outlineThicknessとoutlineColorプロパティを使用してアウトラインを描画します。角度を使用して六角形を回転させます。 –
関連する問題
- 1. CSSで六角形を作成する、対称性
- 2. 六角形のパンコントロール
- 3. CSSイメージグリッド内のCSS三角形
- 4. 六角形タイルをズームインするjavascript
- 5. タイルマップされた六角形の座標
- 6. 正方形のXYグリッド六角形の頂点からの六角ラベル
- 7. 三角形のdiv CSSシャドウ
- 8. 我々は六角形ラティス持っ
- 9. CSSコンテンツの特殊文字:通常の文字VS六角
- 10. CSS:背景画像とdivの上のテキストと六角
- 11. 、国境を六角形にしますが、私は国境を持つ六角形の形状を作りたい
- 12. 六角形グリッドを描画/管理する方法は?
- 13. 六角形の枠線を表示するには
- 14. 角2.0とD3.jsはsvgにCSSを適用しません
- 15. CSSの三角形:要素の前に
- 16. CSS三角形のカスタム枠線の色
- 17. 三角形の矢印のCSS勾配
- 18. ボックス内のCSSの三角形
- 19. は、sedの六角
- 20. タートルモジュールで円と六角形を描く方法は?
- 21. JavaFXが六角形を選択しています
- 22. cssで中空三角形を作成する方法
- 23. geom_hexを使って六角形に変数をマッピングする
- 24. 三角形のCSSアクティブメニュースタイルとは何ですか?
- 25. jQueryプラグイン - インラインCSSまたは外部スタイルシート?
- 26. 同心円の六角形を描く方法は?
- 27. iOS用のCocos2dで六角形タイルを描く
- 28. 円を六角形で塗りつぶし
- 29. xenforoでカスタムCSSファイルまたはjsファイルをインポートする
- 30. エンジンのcssとjsをrailsプラグインで作成したレールアプリに追加する
こんにちは@Praveen Kumar、 あなたが共有しているリンクは、スパンまたはdivを六角形に変換します。この記事で私の説明を読んだら、イメージをヘキサに変換するソリューションを探しています。 – user3772369
私はポストバディを再オープンしました。知らせてくれてありがとうございます。ではごきげんよう。 –
リンクされたURLは、多角形で切り取った画像を表示しています。画像を実際に六角形にカットする必要がありますので、保存すれば六角形が得られますか? CSSでこれを行うことはできません。 Imho、キャンバスとJavascriptのみ。 –