के बीच सीजीआरईटी को सामान्यीकृत करना CGRect
मानों को सामान्य करने का सबसे अच्छा तरीका क्या है ताकि वे 0 और 1 (इकाई समन्वय प्रणाली) के बीच हों?0 और 1
0 और 1
उत्तर
ऐसा करने का एक बहुत संक्षिप्त तरीके से होगा:
CGAffineTransform t = CGAffineTransformMakeScale(1.0/parentRect.size.width, 1.0/parentRect.size.height);
CGRect unitRect = CGRectApplyAffineTransform(rect, t);
यह उत्तर वास्तव में समस्या को अच्छी तरह से काम करने लग रहा था। – ORStudios
यह चाल करना चाहिए। आपको केवल मूल दृश्य या परत की चौड़ाई/ऊंचाई से सबकुछ विभाजित करने की आवश्यकता है।
CGFloat parentWidth = parentView.bounds.size.width;
CGFloat parentHeight = parentView.bounds.size.height;
CGRect rectToConvert = ...;
rectToConvert.origin.x /= parentWidth;
rectToConvert.origin.y /= parentHeight;
rectToConvert.size.width /= parentWidth;
rectToConvert.size.height /= parentHeight;
हम कहते हैं कि इस तरह के रीक्ट और अंक "यूनिट समन्वय प्रणाली" में हैं। आप इसके बारे में Core Animation Programming Guide में और अधिक पढ़ सकते हैं।
आप मूल निर्देशांक को आकार से क्यों विभाजित कर रहे हैं? –
@ सेमस कैम्पबेल शायद क्योंकि इसकी आवश्यकता है? –
ऐसा करने से 0 से 1 के बीच 'CGFloat' वापस आ जाएगा - जो उपयोगकर्ता ने पूछा है .. – rog
कैसे इस बारे में: इस बनाता है
CGRect rectToConvert;
NSAffineTransform *n = [NSAffineTransform transform];
[n scaleXBy:rectToConvert.size.width
yBy:rectToConvert.size.height];
[n invert];
CGRect normalizedRect;
normalizedRect.origin = [n transformPoint:rectToConvert.origin];
normalizedRect.size = [n transformSize: rectToConvert.size];
CGPoint anyPointINeedToConvert;
CGPoint convertedPoint = [n transformPoint:anyPointINeedToConvert];
मैं सोचता यह थोड़ा स्पष्ट क्या हो रहा है और आप एक स्पष्ट रास्ते में अनुवाद की देखभाल, तो आप उन्हें क्या करना है, तो सुविधा देता है है।
- 1. क्यों 0 और 1 1 है जबकि 1 और 0 0 रूबी में 0 है?
- 2. है! 0 और! 1 1 और 0 से बेहतर है?
- 3. 1 और 0 के
- 4. इंड्रे 0 और 1
- 5. आठ 1 और 0 के
- 6. क्या आप 0 और 1
- 7. क्यों 2 + 1 और 0 परिणाम 0 है?
- 8. कन्वर्ट 0 1 वर्सा
- 9. सी # 0-1 ज्ञात योग और सेट
- 10. एक्सएमएल सीरियलाइज बूलियन 0 और 1
- 11. एंड्रॉइड getMaxAddressLineIndex 0 1
- 12. क्यों 0 === -0 सच है, लेकिन 1/0 === 1/-0 गलत है?
- 13. "1 <0"
- 14. 0 से 1 लगातार
- 15. ज़ूकीपर स्थानीयहोस्ट/0: 0: 0: 0: 0: 0: 0: 0: 1: 2181
- 16. ~ 0 -1 क्यों है?
- 17. $ _ [0], $ _ [1] ..... इसलिए
- 18. 1 या 0
- 19. पायथनिक तरीके से 0 के साथ 0 और 0 के साथ 1 0 स्वैपिंग
- 20. फ्लोट 0..1 से बाइट 0..255
- 21. request.getRemoteAddr() रिटर्न का उपयोग 0: 0: 0: 0: 0: 0: 0: 1
- 22. जी ++ बग? (Bool_val 0: 1) रिटर्न न 0 और न ही 1
- 23. तंत्रिका नेटवर्क 0 बनाम -1
- 24. 1/252 = 0 सी # में?
- 25. पर एक 0 ... 1 एसोसिएशन
- 26. "\ 0" और '\ 0'
- 27. क्यों + और * क्रमशः 0 और 1 का मूल्यांकन करते हैं?
- 28. डॉकर सेवा प्रतिकृतियां 0/1
- 29. यादृच्छिक संख्या: 0 या 1
- 30. हम क्वेरी एसक्यूएल 1 = 0
@CodaFi यह CGRectIntegral कोई लेना देना नहीं है। यह विभिन्न कैलियर विधियों के साथ काम करने के लिए "इकाई" समन्वय प्रणाली में परिवर्तित होने के बारे में है। –
किसी भी समीक्षक या मोड के लिए, दोनों करीबी वोट पूरी तरह से अमान्य हैं। –
वे हैं। मैंने सवाल बिल्कुल नहीं पढ़ा। हालांकि, मैं दूसरों के बारे में निश्चित नहीं हूं। – CodaFi