Web için komut dosyası oluştururken yeniyim. Bir resmi (özel olarak sağlanan) boyutlarında altıgen biçiminde (ekli resim) kırpan bir JavaScript veya Jquery eklentisi arıyorum. İdeal olarak CSS ile yapılabiliyorsa harika olurdu, ancak değilse, herhangi bir JS veya JQuery eklentisi işe yarayabilir.JS Altıgen olarak görüntüyü kesen fiş veya CSS
-2
A
cevap
2
Burada istediğiniz işleve benim girişimi:
o URL ve kırpılan alanın değerlerini sürer ve kırpılan görüntünün veri URL'sini döndürür Nefunction 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;
}
. Burada görüntülenenleri görebilirsiniz: https://jsfiddle.net/psrec1b5/2/
+0
Çok teşekkürler efendim ... sadece bir hızlı soru. Orijinal yayında yukarıda paylaştığım görüntüye tam olarak nasıl benzeyebilirim? – user3772369
+0
Yanıtı ve kemanı güncelledim. Ana hat çizmek için anahatta Kalınlık ve anahatKolor özelliklerini kullanın. Altıgen döndürmek için açıyı kullanın. –
İlgili konular
- 1. iOS klavyesinin CSS veya JS
- 2. css stil altıgen dizeleri ve Color.decode
- 3. CSS altıgen renklerini eşleştirmek için Regex
- 4. altıgen
- 5. Görüntüyü css kullanarak döndürme
- 6. Görüntüyü yatay olarak + dikey olarak css ile çevirme/yansıtma
- 7. js/css dosyalarını TYPO3
- 8. Kumaşla görüntüyü hareket ettiren js
- 9. CSS/JS buldum konteyner
- 10. : altıgen renk kodları veya renk adları?
- 11. JS ve CSS dosyaları, VM
- 12. PHP: CSS/JS
- 13. CSS: Görüntüyü% 100 genişliğe genişletme
- 14. Braketleri Editörden Kodumu Sarma (HTML, CSS, JS veya PHP)
- 15. Amazon S3 statik web sitesi css veya js dosyaları sunmuyor
- 16. Kare XY ızgarası Altıgen işaretli altıgen etiketler
- 17. Ebeveyn div'u bilinmeyen sayıda kayan çocuğa küçültme (css veya js)
- 18. Can Jekyll css veya js dosyaları üzerinde hareket edebilir mi?
- 19. jQuery performansı, .css veya addClass
- 20. Altıgen şekilleri gri tonlamalı veya ikili görüntüde algılama
- 21. Stilleri veya Javascript kullanarak görüntüyü parlaklaştırma
- 22. CSS öğelerini HTTPS veya HTTP olarak dinamik olarak nasıl değiştiririm?
- 23. CSS'de bir altıgen oluşturma, simetri
- 24. Görüntüyü beyaz kenarlık olmadan CSS kullanarak ortalamak
- 25. Görüntüyü değiştir asp kullanarak: ımagebutton ve CSS?
- 26. CSS stilini kullanarak iki görüntüyü nasıl örtüşebiliriz?
- 27. Prototip'in Numaralandırılabilir # # F içinde Fiş? JavaScript'inizde
- 28. Elixir Fiş bağlantısını açık kefalet modunda tutun
- 29. Amazon S3 için JS/CSS nasıl birleştirilir?
- 30. Kod nasıl biçimlendirilir html/css/js/php
Merhaba @Praveen Kumar, Paylaştığınız bağlantı bir açıklık veya bir altıgenden bir div dönüştürür. Bu gönderideki açıklamamı okuyorsanız, bir resmi bir hexa'ya dönüştüren bir çözüm arıyorum. – user3772369
Gönderiyi tekrar açtım. Bana bildirdiğiniz için teşekkürler. Herşey gönlünce olsun. –
Bağlantılı URL çok köşeli bir şekilde kırpılmış bir görüntü gösteriyor. Görüntüyü altıgen şeklinde kesmeniz gerekiyor mu? Böylece, kaydederseniz altıgen olsun. Bunu CSS ile yapamazsın. Imho, sadece tuval ve Javascript ile. –