बैकग्राउंड कलर सेट करते समय मैं .pngs का एक फोल्डर .jpgs में कैसे बदल सकता हूं?


10

मेरे पास पीएनजी फाइलों का एक फ़ोल्डर है जिसमें पारदर्शी पृष्ठभूमि है। मैं उन्हें कमांड लाइन से परिवर्तित करना चाहता हूं और छवियों की पारदर्शी पृष्ठभूमि बनाए रखना चाहता हूं।

मैं किसी भी मदद की सराहना करता हूँ।

चूँकि jpgs ट्रांसपेरेंसी का समर्थन नहीं करते हैं, इसलिए मैं आउटपुट jpg के बैकग्राउंड कलर के हेक्स मान को कैसे निर्दिष्ट कर सकता हूँ? अभी यह करने के लिए चूक #ffffff? मैंने इस स्क्रिप्ट को आज़माया है, लेकिन यह आउटपुट जेपीजीएस को सफेद पृष्ठभूमि देता है:

mogrify -quality 100 -format jpg *.png

अपडेट करें

मैंने इन png फ़ाइलों को इंकस्केप में बनाया। मुझे यह उल्लेख करना चाहिए कि इन pngs को jpgs में बदलने का मेरा लक्ष्य परिपत्र या कोणीय वस्तुओं पर दांतेदार किनारों से छुटकारा पाना है। Pngs में वर्तमान में दांतेदार किनारे हैं और मैंने पढ़ा कि उन्हें jpgs में परिवर्तित करने से यह समस्या हल हो सकती है। हालाँकि, ईसाई स्केजडट के उत्तर में उल्लिखित विधि के माध्यम से परिवर्तित करने से छवियों को और भी अधिक दांतेदार किनारे मिलते हैं। वहाँ एक तरीका है कि मैं pngs को jpg में बदल सकता हूं और दांतेदार किनारों से छुटकारा पाने के लिए एंटी-अलियासिंग या शायद एक और तकनीक का उपयोग कर सकता हूं? सहायता के लिए धन्यवाद।


3
अपने प्रश्न का उत्तर देना काफी कठिन है यदि यह हर समय बदलता है ... भविष्य के संदर्भ के लिए: शुरुआत से ही अपने प्रश्न में जो कुछ भी आप प्राप्त करना चाहते हैं उसे शामिल करने का प्रयास करें। अपने "अपडेट 2" को पुन: चुनें: क्या "दांतेदार" आपके चुने हुए संकल्प का परिणाम है? यदि आप रिज़ॉल्यूशन बढ़ाते हैं ("निर्यात बिटमैप ..." संवाद में डीपीआई नंबर)?
मार्सेल स्टिमबर्ग

जवाबों:


3

किनारों को सुचारू बनाने के लिए आप अपने लक्ष्य आकार से 10 गुना बड़ा PNG बना सकते हैं, फिर JPG को एंटी-एलियासिंग के साथ आकार दें। मैंने इसे पायथन और पायथन इमेजिंग लाइब्रेरी का उपयोग करके अच्छे प्रभाव के लिए किया है, लेकिन मुझे यकीन नहीं है कि अन्य उपकरणों का उपयोग करके इसे कैसे किया जाए।


28

JPEG प्रारूप पारदर्शिता का समर्थन नहीं करता है - इसलिए यदि आप JPEG प्रारूप का उपयोग करना चाहते हैं (या करना चाहते हैं) तो पारदर्शी पृष्ठभूमि को बनाए रखना संभव नहीं है। विभिन्न छवि प्रारूपों की क्षमताओं के अवलोकन के लिए विकिपीडिया देखें ।

ध्यान दें कि JPEG 2000 वास्तव में पारदर्शिता का समर्थन करता है, लेकिन यह JPEG प्रारूप की तुलना में बहुत कम आम है। यह आपके उपयोग के मामले पर निर्भर करता है कि क्या यह एक व्यवहार्य विकल्प है।


मैं गलत हो सकता हूं, लेकिन ओपी सेटिंग के बारे में पूछ रहा है कि कोई पारदर्शी क्षेत्र किस रंग का बना है। उन्हें सफेद बनाया जा रहा है, लेकिन उदाहरण के लिए, ओपी नीले रंग का उपयोग कर सकता है।
nanofarad

16

आपके दूसरे प्रश्न के लिए:

अपनी छवियों को परिवर्तित करते समय पृष्ठभूमि का रंग निर्दिष्ट करने के लिए आप -fillविकल्प का उपयोग कर सकते हैं :

mogrify -quality 100 -format jpg -fill "#FF0000" -opaque none *.png

का उपयोग करना -backgroundसमान परिणाम प्रदान करता है। मत भूलना -opaque none


अरे, मदद के लिए धन्यवाद। वहाँ कोई रास्ता नहीं है कि मैं इस आदेश के माध्यम से उत्पादन jpeg antialias कर सकते हैं? अतिरिक्त संदर्भ के लिए अद्यतन 2 ऊपर देखें। धन्यवाद।
जेम्स

4

मुझे खेद है कि कोई रास्ता नहीं है, jpegप्रारूप समर्थन नहीं करता है alpha channelताकि आपके पास पारदर्शिता न हो।


0

आप छवि के साथ क्या करने की कोशिश कर रहे हैं, इसके आधार पर, अल्फा चैनल को एक अलग ग्रेस्केल छवि या बिटमास्क में रखना संभव हो सकता है, और जो प्रोग्राम छवि का उपयोग कर रहा है वह सहायक छवि को पारदर्शी / पारदर्शी मानों के रूप में लागू करेगा। । यद्यपि यह अंततः कार्यक्रम को संशोधित करने के लिए बेहतर है, इसलिए यह अल्फा पीएनजी का समर्थन करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.