क्या किसी विशिष्ट पथ में पीएनजी फ़ाइल के आयाम प्राप्त करने का कोई तरीका है? मुझे फ़ाइल लोड करने की आवश्यकता नहीं है, मुझे डायरेक्टएक्स में एक बनावट लोड करने के लिए चौड़ाई और ऊंचाई की आवश्यकता है।सी ++ एक पीएनजी फ़ाइल (निर्देशिका में) का छवि आकार कैसे प्राप्त करें
उत्तर
चौड़ाई फ़ाइल में ऑफ़सेट 16 से शुरू होने वाली 4-बाइट पूर्णांक है। ऊंचाई ऑफसेट 20 से शुरू होने वाला एक और 4-बाइट पूर्णांक है। वे दोनों नेटवर्क ऑर्डर में हैं, इसलिए आपको सही तरीके से व्याख्या करने के लिए होस्ट ऑर्डर में कनवर्ट करने की आवश्यकता है।
#include <fstream>
#include <iostream>
#include <winsock.h>
int main(int argc, char **argv) {
std::ifstream in(argv[1]);
unsigned int width, height;
in.seekg(16);
in.read((char *)&width, 4);
in.read((char *)&height, 4);
width = ntohl(width);
height = ntohl(height);
std::cout << argv[1] << " is " << width << " pixels wide and " << height << " pixels high.\n";
return 0;
}
छवि का आकार, शीर्षक में स्थित है तो आप फ़ाइल को लोड और हैडर पार्स करने के लिए की आवश्यकता होगी (और मैं नहीं है किसी भी तीसरे पक्ष के-libs उपयोग करना चाहते हैं)।
इसलिए, चूंकि आप किसी तृतीय पक्ष लाइब्रेरी का उपयोग नहीं करना चाहते हैं, तो आप हमेशा पीएनजी चश्मे की जांच कर सकते हैं और अपना खुद का पार्सर लागू कर सकते हैं।
आप हमेशा फ़ाइल को मैन्युअल रूप से डीकोड कर सकते हैं और बस उस बिट्स को ढूंढ सकते हैं जिसमें आप रुचि रखते हैं। Here's a link to an article about PNG file formats.। आप आईएचडीआर खंड की तलाश में हैं और इसमें चौड़ाई और ऊंचाई शामिल है। यह फ़ाइल में डेटा का पहला हिस्सा होना चाहिए, इसलिए इसे प्राप्त करना काफी आसान होना चाहिए।
नहीं, आप फ़ाइल के हिस्से को पढ़ने के बिना इसे नहीं कर सकते हैं। सौभाग्य से, फ़ाइल हेडर पर्याप्त सरल हैं कि आप उन्हें लाइब्रेरी के बिना पढ़ सकते हैं, अगर आपको वास्तविक छवि डेटा पढ़ने की आवश्यकता नहीं है।
यदि आप सुनिश्चित हैं कि आपके पास एक वैध पीएनजी फ़ाइल है, तो आप ऑफसेट 16 और 20 (4 बाइट्स प्रत्येक, बड़े-एंडियन) से चौड़ाई और ऊंचाई पढ़ सकते हैं, लेकिन यह सत्यापित करना भी एक अच्छा विचार हो सकता है फ़ाइल के पहले 8 बाइट बिल्कुल "89 50 4 ई 47 0 डी 0 ए 1 ए 0 ए" (हेक्स) हैं और बाइट 12-15 बिल्कुल "49 48 44 52" ("ASCII में" IHDR ") हैं।
यह काम करता है !! वास्तव में धन्यवाद –
- 1. कोको, उद्देश्य-सी एक पीएनजी छवि का आकार कैसे बदलें?
- 2. सी # छवि का आकार बदलने का आकार फ़ाइल आकार
- 3. "System.Drawing.Image" का फ़ाइल आकार कैसे प्राप्त करें
- 4. सी में निर्देशिका निर्देशिका कैसे प्राप्त करें?
- 5. एक निर्देशिका का आकार
- 6. पीएनजी छवि को अपने न्यूनतम आकार
- 7. फ़ाइल का आकार कैसे प्राप्त करें
- 8. Node.js में एक पीएनजी छवि पढ़ना
- 9. jquery छवि का आकार प्राप्त करें
- 10. मैं एक पीएनजी छवि से एक आइकन कैसे प्राप्त करूं?
- 11. एक गतिशील पीएनजी छवि बनाएं
- 12. एक पीएनजी फ़ाइल
- 13. हैंडलर से छवि आकार प्राप्त करें
- 14. WinRT में फ़ाइल का आकार कैसे प्राप्त करें?
- 15. पीएनजी छवियों के लिए पिक्सेल आकार में फ़ाइल प्रारूप सीमाएं?
- 16. "setImageBitmap()" के बिना एक पीएनजी फ़ाइल के साथ एक छवि दृश्य कैसे लोड करें?
- 17. निर्देशिका में नवीनतम फ़ाइल प्राप्त करें
- 18. एंड्रॉइड फ़ाइल संसाधन का आकार प्राप्त करें?
- 19. php को छवि का KB आकार प्राप्त करें
- 20. मूल छवि की तुलना में पीएनजी छवि का आकार इतना बड़ा क्यों है?
- 21. जावा फ़ाइल का आकार कुशलतापूर्वक प्राप्त करें
- 22. जावा - निर्देशिका में नवीनतम फ़ाइल प्राप्त करें?
- 23. फ़ाइल आकार में रूपांतरण बढ़ाने के लिए पीएनजी
- 24. सी # छवि का आकार बदलना
- 25. वर्तमान निर्देशिका कैसे प्राप्त करें?
- 26. फ़ाइल आकार को पथ कैसे प्राप्त करें?
- 27. एक पीएनजी फ़ाइल से ImageView कैसे लोड करें?
- 28. एक शुद्ध सी ++/Win32 अनुप्रयोग में पारदर्शी पीएनजी फ़ाइल
- 29. मैं सी # में निर्देशिका आकार (निर्देशिका में फाइलें) कैसे प्राप्त करूं?
- 30. मैं पर्सफोर्स से निर्देशिका का आकार कैसे प्राप्त करूं?
धन्यवाद, बीमार कोशिश करें कि –