के साथ ली गई ऑटो घुमाने वाली तस्वीर को पीआईएल का उपयोग करके मैं एक वेब ऐप में Django + PIL + अमेज़ॅन बोटो का उपयोग कर रहा हूं। उपयोगकर्ता तस्वीर में भेजता है और वेबपैप इसे प्रदर्शित करता है। ज्यादातर, लोग अपने सेल फोन से ली गई तस्वीर में भेजते हैं। कभी-कभी, छवि गलत अभिविन्यास में प्रदर्शित होती है। छवि से मेटा जानकारी प्राप्त करने के लिए पीआईएल या डीजेगो की इमेजफिल्ड का उपयोग करने और छवि को सही अभिविन्यास पर घुमाने के लिए इसका उपयोग करने का कोई तरीका है?सेल फोन और एक्सेलोरोमीटर
7
A
उत्तर
3
EXIF जानकारी प्राप्त करने के लिए इसे आज़माएं। एनबी .: _getexif()
विधि जेपीईजी प्लगइन से संबंधित है। यह अन्य प्रकार की छवियों में मौजूद नहीं होगा।
import Image
from PIL.ExifTags import TAGS
im = Image.open('a-jpeg-file.jpg')
exifdict = im._getexif()
if len(exifdict):
for k in exifdict.keys():
if k in TAGS.keys():
print TAGS[k], exifdict[k]
else:
print k, exifdict[k]
एक यादृच्छिक छवि मैं अपने हार्डडिस्क पर पाया के लिए, यह उत्पादन किया:
ExifVersion 0221
ComponentsConfiguration
ApertureValue (4312, 1707)
DateTimeOriginal 2012:07:19 17:33:37
DateTimeDigitized 2012:07:19 17:33:37
41989 35
FlashPixVersion 0100
MeteringMode 5
Flash 32
FocalLength (107, 25)
41986 0
Make Apple
Model iPad
Orientation 1
YCbCrPositioning 1
SubjectLocation (1295, 967, 699, 696)
SensingMethod 2
XResolution (72, 1)
YResolution (72, 1)
ExposureTime (1, 60)
ExposureProgram 2
ColorSpace 1
41990 0
ISOSpeedRatings 80
ResolutionUnit 2
41987 0
FNumber (12, 5)
Software 5.1.1
DateTime 2012:07:19 17:33:37
41994 0
ExifImageWidth 2592
ExifImageHeight 1936
ExifOffset 188
यह Orientation
मूल्य जो आप चाहते है। इसका अर्थ पाया जा सकता है उदा। exif orientation page पर।
कच्चे एक्सिफ़ डेटा Image.info['exif']
से एक स्ट्रिंग के रूप में उपलब्ध है। रोटेशन rotate()
विधि के साथ पूरा किया जा सकता है।
मुझे कच्चे डेटा को बदलने के अलावा पीआईएल का उपयोग करके EXIF डेटा बदलने की विधि से अवगत नहीं है।
3
मैं छवियों के प्रसंस्करण के लिए django-imagekit उपयोग कर रहा हूँ तो imagekit.processors.Transpose
from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill, Transpose, SmartResize
class UserProfile(models.Model):
avatar = models.ImageField(upload_to='upload/avatars', max_length=255, blank=True, null=True)
avatar_thumbnail = ImageSpecField(
source='avatar',
processors = [Transpose(),SmartResize(200, 200)],
format = 'JPEG',
options = {'quality': 75}
)
संबंधित मुद्दे
- 1. जीएसएम नेटवर्क में सेल (सेल-आईडी), बीटीएस और बीएसएस
- 2. आप डेटाबेस में सेल फोन नंबर कैसे स्टोर करते हैं?
- 3. कस्टम JTable सेल संपादक और सेल रेंडरर
- 4. क्या किसी भी कम अंत सेल फोन (गैर स्मार्ट फोन) के लिए ओपन सोर्स फर्मवेयर है?
- 5. UISearchDisplayController और कस्टम सेल
- 6. AlarmManager वस्तु और फोन
- 7. एंड्रॉइड फोन और पीसी
- 8. एंड्रॉइड फोन में स्थान क्षेत्र कोड और सेल आईडी कैसे जानें
- 9. चेकबॉक्स सेल और चयन करने योग्य सेल तालिका पंक्तियां
- 10. सीएसएस: पाठ ऊपर और सेल
- 11. डेटाग्रिडव्यू सेल, पंक्तिहेडर और कॉलमहेडर
- 12. MATLAB और सेल सरणी पाश
- 13. सेल
- 14. समस्याएं फोन नंबर के साथ और फोन नंबर
- 15. एंड्रॉइड अनुमतियां: फोन कॉल: फोन स्थिति और पहचान पढ़ें
- 16. एंड्रॉयड: एक और एंड्रॉयड फोन
- 17. अंतर्राष्ट्रीय फोन और पता डेटा?
- 18. WPF डेटाग्रिड सेल रंग पूर्व सेल मूल्य
- 19. एक शीट और सेल को परिवर्तनीय
- 20. डिस्प्ले: टेबल-सेल, सामग्री और पैडिंग
- 21. सेल दृश्य प्रकटीकरण बटन और प्रासंगिक विधि
- 22. एक्सेल वीबीए: टाइप रेंज और सेल
- 23. डेटाग्रिड व्यू सेल चयन और पूर्णरो चयन
- 24. जेएक्सएल संख्या प्रारूप और सेल प्रकार
- 25. डेटाग्रिडव्यूज़ सेल पृष्ठभूमि रंग और पाठ
- 26. DataGridView प्रमाणीकरण और बदलना सेल मान
- 27. सी # - DataGridView और SelectedCells - चयनित सेल
- 28. विंडोज फोन 8 नेटवर्क जानकारी
- 29. एक्सेल सेल
- 30. सेल फॉर्मूला
का उपयोग कर उसके बारे में यहां धागा है कि हो सकता है आप मदद कर सकते हैं: http: //stackoverflow.com/questions/1606587/how-to-use-pil- टू-रीसाइज-एंड-लागू-रोटेशन-एक्सिफ-सूचना-टू-द-फाइल – Jingo
यह आपकी मदद कर सकता है http://stackoverflow.com/questions/4228530/pil- थंबनेल-is-rotating-my-image – Rakesh