2011-08-05 19 views
7

मैं variablesized इस तरह पहेली आकार pices (नहीं वर्ग) में छवियों क्लिप करने के लिए की जरूरत है: http://www.fernando.com.ar/jquery-puzzle/स्केलेबल कतरन मुखौटा

मैं काहिरा या जी.डी. की तरह एक php पुस्तकालय के साथ ऐसा करने की posibility पर विचार किया है, लेकिन करने के लिए कम है इन पुस्तकालयों के साथ कोई अनुभव नहीं है, और विभिन्न आकार की छवियों के लिए एक क्लिपिंग मुखौटा गतिशीलता स्केलेबल बनाने के लिए कोई अपरिपक्व आत्मा नहीं देखते हैं।

मैं इस कार्य को पूरा करने के लिए सर्वरसाइड प्रोग्रामिंग भाषा का उपयोग करने के लिए मार्गदर्शन/सुझाव ढूंढ रहा हूं, और इस समस्या के लिए अधिमानतः एक दृष्टिकोण।

उत्तर

0

आप पहेली टुकड़े के आकार के साथ जीडी का उपयोग कर एक छवि बना सकते हैं। और तब छवि के सही भाग को प्राप्त करने के लिए उस छवि पर पूर्ण छवि को सही फसल के साथ कॉपी करें।

फिर आप उस टुकड़े के हर हिस्से में गतिशील रूप से रंग डाल सकते हैं जिसे आप एक अलग रंग (जैसे # 0 एफ 0) से निकालना चाहते हैं और उसके बाद उस रंग को पारदर्शी बनाने के लिए छवि रंगोर्टलोकैल्फा का उपयोग करें। प्रत्येक टुकड़े के लिए यह करें और आपके पास सर्वर की छवि छवियां हैं।

हालांकि, यदि मैं कहां हूं, तो मैं अलग पहेली में अग्रिम में प्रत्येक पहेली शांति का क्लिपिंग मुखौटा बनाउंगा। इससे प्रति कनेक्शन दो छवियां बन जाएंगी (एक "सर्कल" कनेक्टर चिपकने वाला एक और जहां यह सर्कल कनेक्टर फिट बैठता है)। इस तरह आप अच्छी तरह से अच्छे किनारों को बनाने के लिए बस इन मास्क को छवि पर कॉपी कर सकते हैं।

0

जीडी काफी जटिल है, मैंने छवि मैजिक के बारे में बहुत अच्छी बातें सुनी हैं जिसके लिए एक PHP संस्करण है और php.net पर बहुत सारे दस्तावेज हैं। हालांकि, सभी वेब सर्वर डिफ़ॉल्ट रूप से यह स्थापित नहीं होगा।

http://www.php.net/manual/en/book.imagick.php

0

आप इसे जी.डी. के साथ PHP का उपयोग करना चुनते हैं तो कोड यहाँ मदद कर सकते हैं:

http://php.amnuts.com/index.php?do=view&id=15&file=class.imagemask.php

अनिवार्य रूप से क्या आप जी.डी. के साथ क्या करने की जरूरत पर एक मुखौटा के साथ शुरू करने के लिए है एक विशेष आकार और फिर मास्क छवि संसाधन को बड़े या छोटे आकार में कॉपी करने के लिए imagecopyresampled फ़ंक्शन का उपयोग करें। मेरा मतलब यह देखने के लिए, उपरोक्त यूआरएल पर दिखाए गए _getMaskImage विधि वर्ग देखें। उत्पादन का काम उदाहरण में देखा जा सकता:

http://php.amnuts.com/demos/image-mask/

, जी.डी. के माध्यम से यह कर जहाँ तक मैं बता सकता हूँ के साथ समस्या यह

, कि आप इसे एक समय में एक पिक्सेल करने के लिए अगर आप चाहते हैं की जरूरत है भिन्न अस्पष्टता स्तर प्राप्त करने के लिए, इसलिए एक बड़ी छवि को संसाधित करने में कुछ सेकंड लग सकते हैं। ImageMagick के साथ यह मामला नहीं हो सकता है।

संबंधित मुद्दे