पर गैर-पुनरुत्पादित परिणाम उत्पन्न करती है। मैं .NET फ्रेमवर्क का उपयोग कर रहा हूं (3.5 & 4.0) को एक टीआईएफएफ फ़ाइल लोड करने और इसे पीएनजी के रूप में सहेजने के लिए उपयोग कर रहा हूं। मुझे उसी पीएनजी फ़ाइल का उत्पादन करने के लिए दो (बाद में एक ही टीआईएफएफ फ़ाइल का उपयोग करके) (बाद में एक ही टीआईएफएफ फ़ाइल का उपयोग करने) की उम्मीद है। हालांकि, उत्पादित फाइलें 'कभी-कभी' अलग होती हैं। ,.NET Image.Save विधि Windows 64 बिट
Image sourceToConvert = Bitmap.FromFile("c:\\tmp\\F1.tif");
sourceToConvert.Save("c:\\tmp\\F1_gen.png", ImageFormat.Png);
for (int i = 0; i < 100; i++)
{
sourceToConvert = Bitmap.FromFile("c:\\tmp\\F1.tif");
sourceToConvert.Save("c:\\tmp\\F1_regen.png", ImageFormat.Png);
if (!CompareFileBytes("c:\\tmp\\F1_gen.png", "c:\\tmp\\F1_regen.png"))
MessageBox.Show("Diff" + i);
}
यह यात्रा 8, 32, 33 में 'Diff' प्रदर्शित करेगा, 73 114, 155, 196 Windows 64 पर, जबकि यह किसी भी त्रुटि प्रदर्शित नहीं करता है:
नीचे सी # कोड समस्या से पता चलता 32 बिट मशीनों पर। (मैं x86 लक्ष्य का उपयोग करता हूं; x64 लक्ष्य के साथ, यह बदतर है: पुनरावृत्ति 12, 13, 14, 15, ...)
क्या सहेजें() से पुनरुत्पादित परिणाम प्राप्त करने का कोई तरीका है?
एक नमूना छवि इस FTP site
ऐसी कई सेटिंग्स हैं जो फ़ाइल को संपीड़ित करने में जाती हैं और यह रन टाइम पर कुछ कारकों के लिए अनुकूलित हो सकती है। उदाहरण के लिए, शब्दकोश आकार की तरह कुछ संकुचित आउटपुट के आकार को प्रभावित कर सकता है लेकिन फिर भी उसी डिकंप्रेस्ड डेटा को उत्पन्न करता है। तो आपकी छवियां अभी भी वही हैं, लेकिन शायद थोड़ा अलग अनुकूलित किया गया हो सकता है। शायद 64 बिट तक इमारत हुड के नीचे कुछ अलग सेटिंग्स दे रही है। आप सेव ओवरलोड के लिए एन्कोडर सेटिंग्स देख सकते थे, लेकिन मुझे हाथ से कुछ भी नहीं देखा जो संपीड़ित आउटपुट निर्धारिती बना देगा। – mafafu
आपकी टिप्पणी के लिए धन्यवाद। मैं भी, माना जाता है कि छवियों को स्मृति में समान होना चाहिए (केवल .png फाइलें अलग-अलग हैं)। लेकिन मैं बीएमपी के रूप में छवियों को पढ़ने के लिए एक समारोह लिखने के लिए गया, बाइट सरणी में परिवर्तित - और वे अलग हैं (हालांकि दृश्यमान छवियों में भिन्न नहीं है)। मैंने यह भी पाया कि समस्या केवल अपेक्षाकृत बड़ी छवियों (लगभग 2600x2600 पिक्स मेरे मामले में) के साथ होती है। मैंने फ्री-इमेज जैसे तीसरे पक्ष के पुस्तकालयों के साथ भी कोशिश की - एक ही समस्या: 32 बिट पर निर्धारक, 64 बिट पर नहीं। – werner
क्या आप उस F1.tif छवि pls के लिंक पोस्ट कर सकते हैं? – avs099