मैं स्क्रीन पर दिखने वाली कुछ तस्वीरों को घुमाने की कोशिश कर रहा हूं, ये तस्वीर एक स्टैकलेआउट के अंदर हैं, और मुझे उन्हें परिदृश्य के बजाय पोर्ट्रेट के रूप में दिखाने की ज़रूरत है, मैं छवि का उपयोग कर रहा हूं विजेट धन्यवादकिवी एक तस्वीर को घुमाने के लिए कैसे करें
उत्तर
साथ भ्रमित toto_tico के पिछले 2 जवाब करने के लिए एक रास्ता है मिलता है, लेकिन मैं नहीं बल्कि इसके लिए एक नया विजेट बना होता है, और इसका इस्तेमाल करते हैं:
Builder.load_string('''
<RotatedImage>:
canvas.before:
PushMatrix
Rotate:
angle: root.angle
axis: 0, 0, 1
origin: root.center
canvas.after:
PopMatrix
''')
class RotatedImage(Image):
angle = NumericProperty()
फिर, इस विजेट का उपयोग अन्य छवि विजेट के रूप में करें, आपके पास बस "कोण" संपत्ति है जिसके साथ आप खेल सकते हैं।
नोट: स्कैटर उदाहरण को छोड़कर टकराव का पता लगाने पर छवि पर टकराव का पता नहीं लगाया जाता है। स्कैटर बस कुछ घुमाने के लिए महंगा हो सकता है, लेकिन कम से कम टकराव काम करता है।
मुझे लगता है कि वे ऐसा करने के दो तरीके हैं। मैं दो उत्तरों पोस्ट करूंगा और दूसरों को यह तय करने दूंगा कि सही दृष्टिकोण क्या है। मैं व्यक्तिगत रूप से इस विधि को पसंद करता हूं क्योंकि मुझे लगता है कि यह कम्प्यूटेशनल लाइटर है। हालांकि, यह सहज नहीं है
यह विधि एक रिलेवेटिवआउट और दो संदर्भ निर्देशों (घुमाने और अनुवाद) का उपयोग करती है।
1 - आपको छवि को RelativeLayout के अंदर एम्बेड करने की आवश्यकता है। क्यूं कर? चूंकि घुमावदार कामों की तरह (0,0) समन्वय में एक नाखून डालने के समान है, यानी नीचे-बाएं कोने। RelativeLayout विजेट की स्थिति में 0,0 सेट करता है।
2- आप जैसा कि मैंने पहले भी कहा canvas
3 उपयोग करने के लिए की आवश्यकता होगी, घुमाएँ अनुदेश (0,0) में एक कील डाल करने के लिए समन्वय के बराबर है। कागज के एक टुकड़े के बारे में सोचो। यदि आप कोने में एक नाखून डालते हैं तो रोटेशन बाईं ओर खत्म हो जाएगा। तो, घूर्णन से पहले, आपको Translate पेपर का टुकड़ा अपने दाहिनी ओर ले जाना होगा।
4- अब आप Rotate रिलेवेटिवआउट कर सकते हैं और यह उस स्थिति में समाप्त हो जाएगा जिसकी आप उम्मीद कर रहे हैं।
रिलेटिवलाइट का उपयोग करने का एक और फायदा है। इसमें पहले से ही दो महत्वपूर्ण निर्देश शामिल हैं (PushMatrix और PopMatrix) कि आपको समझना होगा कि क्या आप घूर्णन, स्केलिंग या अनुवाद के साथ बड़े पैमाने पर काम कर रहे हैं।
from kivy.app import App
from kivy.uix.stacklayout import StackLayout
from kivy.lang import Builder
Builder.load_string("""
<Example>:
Image:
source: 'kivy.png'
size_hint: None,None
size: 64,64
RelativeLayout
size_hint: None,None
size: 64,64
canvas.before:
Translate:
x: 64
Rotate:
angle: 90
axis: 0,0,1
Image:
source: 'kivy.png'
size_hint: None,None
size: 64,64
""")
class Example(App, StackLayout):
def build(self):
return self
if __name__ == "__main__":
Example().run()
मुझे नहीं लगता कि Scatter इस के लिए उपयोग करने के लिए है:
यहाँ एक उदाहरण कोड है। लेकिन मुझे लगता है कि एक और सहज ज्ञान युक्त समाधान है। स्कैटर में एक रोटेशन (और एक पैमाने) संपत्ति भी शामिल है।
असल में, मैंने एक स्कैटर के अंदर छवि को एम्बेड किया और 90 डिग्री घुमाने के लिए रोटेशन प्रॉपर्टी का उपयोग किया।
मैं क्यों कहता हूं कि Scatter इस कार्य के लिए नहीं है। असल में क्योंकि यह इस पर इशारा करता है। आप मूल रूप से अपनी उंगलियों के साथ अनुवाद, घुमाने या स्केल कर सकते हैं (या multi-touch mouse emulation का उपयोग कर)। यही कारण है कि अगले उदाहरण में मैं do_scale
, do_rotation
और do_translation
को गलत पर सेट कर रहा हूं। मैं इस स्पष्ट कर रहा हूँ इससे पहले कि आप do_rotation: false
from kivy.app import App
from kivy.uix.stacklayout import StackLayout
from kivy.lang import Builder
Builder.load_string("""
<Example>:
Image:
source: 'kivy.png'
size_hint: None,None
size: 64,64
Scatter:
pos: 0,0
size_hint: None,None
size: 64,64
do_rotation: False
do_scale: False
do_translation: False
rotation: 90
Image:
source: 'kivy.png'
size_hint: None,None
size: 64,64
""")
class Example(App, StackLayout):
def build(self):
return self
if __name__ == "__main__":
Example().run()
- 1. सी # में अपनी तस्वीर के साथ पिक्चरबॉक्स को घुमाने के लिए कैसे?
- 2. किवी
- 3. MapView को घुमाने के लिए कैसे?
- 4. किवी
- 5. UITableViewCellAccessoryDisclosureIndicator को घुमाने के लिए कैसे?
- 6. स्विंग टेक्स्ट को घुमाने के लिए कैसे?
- 7. किवी
- 8. Google मानचित्र में मार्कर को घुमाने के लिए कैसे करें?
- 9. किवी
- 10. एक WPF विंडो को घुमाने के लिए कैसे?
- 11. किवी
- 12. किवी: एक निष्पादन योग्य
- 13. एक तस्वीर से मेटाडाटा कैसे प्राप्त करें?
- 14. drawText के लिए पाठ को घुमाने के लिए कैसे?
- 15. पायथन/किवी
- 16. एक बिंदु पर CALAYer को घुमाने के लिए
- 17. Three.js - किसी ऑब्जेक्ट को देखने के लिए किसी ऑब्जेक्ट को घुमाने के लिए कैसे करें
- 18. ggplot2 में किंवदंती प्रतीकों को घुमाने के लिए कैसे?
- 19. 180 डिग्री से संबंधित रिलेटिवआउट को घुमाने के लिए कैसे?
- 20. खींचें एक एसवीजी को घुमाने के लिए: जी समूह
- 21. ड्रैग करके एक qml आयताकार घुमाने के लिए कैसे?
- 22. https के अंतर्गत एक फेसबुक प्रोफाइल तस्वीर कैसे प्राप्त करें?
- 23. एन्क्रिप्टेड तस्वीर को कैसे देखें
- 24. जीडीआई + में पाठ को घुमाने के लिए कैसे?
- 25. axis three.js पर 3D ऑब्जेक्ट को घुमाने के लिए कैसे?
- 26. बिटकमैप को नया बनाये बिना घुमाने के लिए कैसे?
- 27. बिटमैप को सही तरीके से घुमाने के लिए कैसे?
- 28. ओपनजीएल में कैमरा नहीं मॉडल को घुमाने के लिए कैसे?
- 29. ggplot2 में अक्ष लेबल को घुमाने के लिए कैसे?
- 30. विंडोज पर पायचर्म के लिए पाइथन किवी को कैसे कॉन्फ़िगर करें?
मूल संपत्ति के लिए +1 –
धन्यवाद मैं इसे बाद में कोशिश करूंगा, यह आपकी मदद के लिए सबसे अच्छा समाधान है, मैं बहुत नया हूं, मैं अभी भी फ्रेमवर्क कैसे काम करता हूं इस पर कुछ याद करता हूं :) – nukedbit
यह हमेशा महत्वपूर्ण है ऑब्जेक्ट उन्मुख होने के लिए। धन्यवाद। – ehsan88