मैं अपने उपयोगकर्ताओं को अपलोड की गई छवि के एक विशिष्ट बहुभुज (बिंदुओं के बीच घुमावदार रेखाओं के साथ 6-8 शिखर) का चयन करने में सक्षम होना चाहता हूं - मैं HTML5 & जेएस का उपयोग करके ऐसा करने के लिए कैसे जा सकता हूं? केवल पुस्तकालय मैंने पाया विशुद्ध रूप से आयताकार चयन की अनुमति देता है: http://odyniec.net/projects/imgareaselect/जावास्क्रिप्ट/jQuery का उपयोग कर छवि के बहुभुज क्षेत्र का चयन कैसे करें?
9
A
उत्तर
10
वहां पहले से ही एक पुस्तकालय है कि तुम क्या जरूरत का हिस्सा करता है: polyclip.js, by Zoltan Dulac आप एक यूआई कि उपयोगकर्ता अंक चुनने की अनुमति देता निर्माण कर सकते हैं तो पुस्तकालय के लिए डेटा फ़ीड और आप किया गया
संपादित करें: यहां एक jsFiddle demonstration है। मूल छवि पर बिंदुओं का चयन करने के लिए क्लिक करें और एक फसल संस्करण उत्पन्न करने के लिए जेनरेट बटन दबाएं।
एचटीएमएल:
<div id="mainContent">
<div id="canvasDiv">
<br/>
<button id="generate" type="button">Generate
</button>
</div>
<h1>Result:</h1>
<div class="clipParent" style="float:left;">
</div>
</div>
जे एस:
var canvasDiv = document.getElementById('canvasDiv');
canvas = document.createElement('canvas');
canvas.setAttribute('width', 500);
canvas.setAttribute('height', 500);
canvas.setAttribute('id', 'canvas');
$(canvasDiv).prepend(canvas);
if(typeof G_vmlCanvasManager != 'undefined') {
canvas = G_vmlCanvasManager.initElement(canvas);
}
var context = canvas.getContext('2d');
var imageObj = new Image();
imageObj.onload = function() {
$(canvas).attr({width : this.width, height: this.height});
context.drawImage(imageObj,0,0);
};
imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/darth-vader.jpg';
var clickX = new Array();
var clickY = new Array();
var clickDrag = new Array();
var paint;
function addClick(x, y, dragging)
{
clickX.push(x);
clickY.push(y);
clickDrag.push(dragging);
}
function redraw(){
canvas.width = canvas.width; // Clears the canvas
context.drawImage(imageObj,0,0);
context.strokeStyle = "#df4b26";
context.lineJoin = "round";
context.lineWidth = 5;
for(var i=0; i < clickX.length; i++)
{
context.beginPath();
context.arc(clickX[i], clickY[i], 3, 0, 2 * Math.PI, false);
context.fillStyle = '#ffffff';
context.fill();
context.lineWidth = 5;
context.stroke();
}
}
$('#canvas').click(function(e){
var mouseX = e.pageX - this.offsetLeft;
var mouseY = e.pageY - this.offsetTop;
addClick(e.pageX - this.offsetLeft, e.pageY - this.offsetTop);
redraw();
});
$('#generate').click(function(){
$(".clipParent").empty();
$(".clipParent").prepend('<img src="http://www.html5canvastutorials.com/demos/assets/darth-vader.jpg" id="genimg" />');
var arr = [];
for(var i=0; i < clickX.length; i++){
arr.push(clickX[i]);
arr.push(clickY[i]);
}
$("#genimg")[0].setAttribute("data-polyclip",arr.join(", "));
clickX=[];
clickY=[];
redraw();
polyClip.init();
});
+0
बहुत बहुत धन्यवाद !! – user1198133
0
आप कैनवस टैग करने पर छवि को लोड कर सकता है और फिर आप सब आपको लगता है कि कैनवास पर की तरह ड्राइंग कर सकते हैं।
संबंधित मुद्दे
- 1. छवि के विशिष्ट क्षेत्र के सभी बहुभुज निर्देशांक प्राप्त करना?
- 2. Mysql: से * का चयन करें .... एक क्षेत्र
- 3. javacv/opencv का उपयोग कर काले बहुभुज पर बिंदुओं की पहचान कैसे करें?
- 4. jQuery का उपयोग कर चयन क्षेत्र को अक्षम/सक्षम कैसे करें?
- 5. डेस्कटॉप पर क्षेत्र आयताकार का चयन
- 6. गूगल मैप्स - क्षेत्र के बहुभुज सीमा/पड़ोस
- 7. jQuery का उपयोग कर चर के भीतर तत्वों का चयन कैसे करें?
- 8. हरोकू डायनोस के लिए ईसी 2 क्षेत्र का चयन करें?
- 9. jQuery पिछले टीडी पाठ का चयन करें का उपयोग कर
- 10. कक्षा नाम का उपयोग कर छवि को अक्षम कैसे करें .. jquery का उपयोग कर
- 11. UIBezierPath का उपयोग कर छवि को कैसे फसल करें?
- 12. ज़ेंड फॉर्म का चयन कैसे करें तत्व का चयन करें?
- 13. सी # सार्वजनिक संरचना के स्थिर क्षेत्र का उपयोग कैसे करें
- 14. छवि सूची का उपयोग कैसे करें
- 15. छेद के साथ बहुभुज का प्रतिनिधित्व कैसे करें?
- 16. अक्षांश और देशांतर का उपयोग कर समय क्षेत्र प्राप्त करें?
- 17. jQuery का उपयोग करें एक विकल्प का चयन करें?
- 18. ऑरैकल में स्थिति के साथ चयन का उपयोग कैसे करें?
- 19. Django डुप्लिकेट क्षेत्र मूल्यों के साथ केवल पंक्तियों का चयन
- 20. image_style_url का उपयोग कर
- 21. कैसे एक निजी क्षेत्र का उपयोग हाइबरनेट कर सकते हैं?
- 22. , शीर्षक से बढ़ते अंक और बहुभुज क्षेत्र
- 23. SQLite क्वेरी का उपयोग कर चयन नेस्ट
- 24. चयन नल का उपयोग?
- 25. छवि प्रसंस्करण कार्यों का उपयोग करने के लिए एक मैट्रिक्स या बाइनरी छवि में बहुभुज को कैसे स्केच करना है?
- 26. UITextField का चयन कैसे करें?
- 27. ubuntu पर pyodbc का उपयोग कर SQL सर्वर पर एक छवि क्षेत्र को सम्मिलित करने के
- 28. PHP कोड का उपयोग कर यूआरएल से छवि डाउनलोड करें?
- 29. बहुभुज
- 30. छवि लिंक के साथ बूटस्ट्रैप टूलटिप्स का उपयोग कैसे करें?
उपयोगकर्ता द्वारा क्लिक किए जाने वाले बिंदुओं के बीच रेखाओं को चित्रित करके आपको शायद इसे स्वयं लिखना होगा। यह बहुत मुश्किल नहीं है लेकिन आपकी समस्या के लिए एक दर्जन रेखाएं बहुत विशिष्ट हैं। यह इस बात पर निर्भर हो सकता है कि आप अपने बहुभुज के साथ क्या करना चाहते हैं। –