2011-12-01 10 views
14

बीएमपी छवियों को उल्टा क्यों रखा जाता है और शून्य-गद्देदार क्यों होते हैं ताकि वे चार-बाइट गठबंधन हो जाएं?क्यों बीएमपीएस ऊपर उल्लिखित हैं?

+0

के संभावित डुप्लिकेट [क्यों "कदम" System.Drawing.Bitmap निर्माता में 4 की एक बहु होना चाहिए? ] (http://stackoverflow.com/questions/2185944/why-must-stride-in-the-system-drawing-bitmap-constructor-be-a-multiple-of-4) –

+1

http://support.microsoft .com/kb/q81498/दावा करता है कि उपरोक्तता प्रस्तुति प्रबंधक के साथ पिछड़ा संगत होने का एक आर्टिफैक्ट है, जिसका अर्थ यह है कि आईबीएम ने ओएस/2 के लिए ऐसा किया था। –

+2

वे ओएस/2 प्रस्तुति प्रबंधक के साथ संगतता के लिए ऊपर की ओर हैं। यह वास्तव में या तो हो सकता है, शीर्ष पंक्ति पहले बिटमैप्स की नकारात्मक ऊंचाई होती है। –

उत्तर

28

यहाँ पेज़ॉल्ड से एक उद्धरण है:

तो, झलक में, छवि के नीचे की पंक्ति फ़ाइल की पहली पंक्ति है, और छवि की शीर्ष पंक्ति फ़ाइल में आखिरी पंक्ति है। यह है जिसे नीचे-नीचे संगठन कहा जाता है। चूंकि यह संगठन प्रतिद्वंद्वी है, इसलिए आप पूछ सकते हैं कि ऐसा क्यों किया जाता है।

ठीक है, यह सब ओएस/2 प्रेजेंटेशन मैनेजर पर वापस चला जाता है। पर किसी ने आईबीएम का फैसला किया कि पीएम में सभी समन्वय प्रणालियों- जिनमें विंडोज़, ग्राफिक्स और बिटमैप्स शामिल हैं-लगातार होना चाहिए। इसने बहस को उकसाया: प्रोग्रामर समेत अधिकांश लोग जिन्होंने पूर्ण-स्क्रीन टेक्स्ट प्रोग्रामिंग या विंडोिंग वातावरण के साथ काम किया है, स्क्रीन पर जाने वाले लंबवत निर्देशांक के शब्दों में सोचें। हालांकि, कट्टर कंप्यूटर ग्राफिक्स प्रोग्रामर से वीडियो डिस्प्ले तक पहुंचते हैं जो विश्लेषणात्मक ज्यामिति के गणित में उत्पन्न होता है। इसमें आयताकार (या कार्टेशियन) समन्वय प्रणाली शामिल है जहां बढ़ते लंबवत निर्देशांक अंतरिक्ष में ऊपर जाते हैं।

संक्षेप में, गणितज्ञ जीते। पीएम में सबकुछ नीचे-बाएं मूल के साथ खिड़की निर्देशांक समेत था। और इस तरह डीआईबी इस तरह से आया था।

स्रोत: चार्ल्स पेज़ॉल्ड, विंडोज 5 वें संस्करण के लिए प्रोग्रामिंग, अध्याय 15.

+2

दिलचस्प है कि उन्होंने डीआईबी के लिए यह प्रतिनिधित्व रखा लेकिन खिड़की निर्देशांक के लिए इसे बदल दिया, असंगतता को दोबारा शुरू किया। –

-4

वे एक प्रदर्शन समन्वय प्रणाली के अनुसार संग्रहीत हैं। (0, 0) ऊपरी बाएं कोने पर है। एक्स (चौड़ाई से मेल खाता है) बाएं से दाएं चला जाता है। वाई (ऊंचाई से मेल खाता है) ऊपर से नीचे चला जाता है।

के लिए "4 बाइट सवाल" के रूप में देखने के Why must "stride" in the System.Drawing.Bitmap constructor be a multiple of 4?

+0

नहीं वे नहीं हैं। बीएमपी नीचे से ऊपर, बाएं से दाएं तक संग्रहित होते हैं। – mgiuca

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