2012-07-26 24 views
12

मेरे पास दो पृष्ठों के साथ टिफ छवि है। जब मैं फ़ाइल को jpg प्रारूप में रूपांतरित करता हूं तो मैंने दूसरे पृष्ठ खो दिए। क्या टिफ़ फ़ाइल पर दो छवियों को एक jpg फ़ाइल में रखने का कोई तरीका है। क्योंकि टिफ फ़ाइलों के बहुत बड़ा मैं वहाँ किसी भी तरह से कमी TIFF फ़ाइलों प्रोग्राम के आकार उनके sizes.is कम करने के लिए कर रहे हैं? यह भी मेरी समस्याटिफ को जेपीजी प्रारूप में परिवर्तित करें

+0

आप किस भाषा में काम कर रहे हैं? :) –

+0

कम जानकारी के बारे में खेद है :) सी # .net – ozman

+1

यदि आप लिनक्स पर हैं, तो आप एकाधिक टिफ छवियों को जोड़ने के लिए [कन्वर्ट कमांड] (http://www.imagemagick.org/script/convert.php) का उपयोग कर सकते हैं। जैसे ** convert -append ** _img1.tiff img2.tiff img3.tiff_ ** result.jpg ** – chochim

उत्तर

27

के बाद से एक TIFF एकाधिक फ्रेम शामिल कर सकते हैं के लिए solition हो सकता है लेकिन जेपीजी नहीं कर सकते हैं, आपको प्रत्येक एकल फ्रेम को जेपीजी में परिवर्तित करने की आवश्यकता है।

Windows Dev Center Samples से लिया:

public static string[] ConvertTiffToJpeg(string fileName) 
{ 
     using (Image imageFile = Image.FromFile(fileName)) 
     { 
      FrameDimension frameDimensions = new FrameDimension( 
       imageFile.FrameDimensionsList[0]); 

      // Gets the number of pages from the tiff image (if multipage) 
      int frameNum = imageFile.GetFrameCount(frameDimensions); 
      string[] jpegPaths = new string[frameNum]; 

      for (int frame = 0; frame < frameNum; frame++) 
      { 
       // Selects one frame at a time and save as jpeg. 
       imageFile.SelectActiveFrame(frameDimensions, frame); 
       using (Bitmap bmp = new Bitmap(imageFile)) 
       { 
        jpegPaths[frame] = String.Format("{0}\\{1}{2}.jpg", 
         Path.GetDirectoryName(fileName), 
         Path.GetFileNameWithoutExtension(fileName), 
         frame); 
        bmp.Save(jpegPaths[frame], ImageFormat.Jpeg); 
       } 
      } 

      return jpegPaths; 
     } 
} 
+0

हाय, प्रक्रियाएं ठीक चलती हैं, लेकिन छवियों ने एकदम सही अंधेरा (काला अग्रभूमि) बनाया है। मैं क्या खो रहा हूँ? –

0

हम कुछ समस्याओं का सामना करना पड़ा जब, जेपीईजी करने के लिए TIF फ़ाइलें परिवर्तित क्योंकि TIF स्वरूप है कि मुक्त उपकरणकिटें में समर्थित नहीं हैं बार दबाने के कुछ प्रकार का समर्थन करता है। मैंने इंटरनेट की खोज की और कुछ वाणिज्यिक टूलकिटों की कोशिश की, लेकिन उनमें से अधिकतर कई सीमाओं के साथ लागू करना मुश्किल है। टूलकिट जिसने मेरा ध्यान खींचा है वह लीडटोल्स है, क्योंकि यह कई फ़ाइल स्वरूपों को लोड करने और सहेजने का समर्थन करता है (विभिन्न संपीड़न वाले टीआईएफ छवियों सहित)। हमने इस टूलकिट का इस्तेमाल हमारी छवियों को जेपीईजी प्रारूप में परिवर्तित किया। http://support.leadtools.com/CS/forums/8925/ShowPost.aspx

ध्यान दें कि आप इस नि: शुल्क कोड कनवर्टर का उपयोग करके सी # के लिए किसी भी VB.Net कोड में बदल सकते हैं:: आप निम्नलिखित पृष्ठ में और अधिक जानकारी प्राप्त कर सकते http://www.developerfusion.com/tools/convert/vb-to-csharp/

3
using System.Drawing; 
using System.Drawing.Imaging; 

Bitmap bm=Bitmap.FromFile("photo.tif"); 
bm.Save("photo.jpg",ImageFormat.Jpeg); 
+0

अच्छा जवाब है, लेकिन आम तौर पर कोड के साथ कोड क्या कर रहा है इसका स्पष्टीकरण प्रदान करता है। – MattD

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