में कनवर्ट करें मुझे विभिन्न प्रारूप एक्सटेंशन के साथ उपयोगकर्ता से एक तस्वीर प्राप्त करने की आवश्यकता है, और मैं हमेशा इसे आसान प्रबंधन के लिए "jpg" के रूप में सहेजना चाहता हूं। क्या कोई अच्छा तरीका है कि सी # में गुणवत्ता को हथियाने के बिना?सी # छवि प्रारूपों को jpg
उत्तर
से: http://msdn.microsoft.com/en-us/library/system.drawing.imaging.encoderparameter.aspx
private void VaryQualityLevel()
{
// Get a bitmap.
Bitmap bmp1 = new Bitmap(@"c:\TestPhoto.jpg");
ImageCodecInfo jgpEncoder = GetEncoder(ImageFormat.Jpeg);
// Create an Encoder object based on the GUID
// for the Quality parameter category.
System.Drawing.Imaging.Encoder myEncoder =
System.Drawing.Imaging.Encoder.Quality;
// Create an EncoderParameters object.
// An EncoderParameters object has an array of EncoderParameter
// objects. In this case, there is only one
// EncoderParameter object in the array.
EncoderParameters myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder,
50L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp1.Save(@"c:\TestPhotoQualityFifty.jpg", jgpEncoder,
myEncoderParameters);
myEncoderParameter = new EncoderParameter(myEncoder, 100L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp1.Save(@"c:\TestPhotoQualityHundred.jpg", jgpEncoder,
myEncoderParameters);
// Save the bitmap as a JPG file with zero quality level compression.
myEncoderParameter = new EncoderParameter(myEncoder, 0L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp1.Save(@"c:\TestPhotoQualityZero.jpg", jgpEncoder,
myEncoderParameters);
}
...
private ImageCodecInfo GetEncoder(ImageFormat format)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
foreach (ImageCodecInfo codec in codecs)
{
if (codec.FormatID == format.Guid)
{
return codec;
}
}
return null;
}
बहुत बढ़िया धन्यवाद ले –
से ऊपर कोड मेरे लिए काम नहीं कर रहा है। यह ImageCodecInfo वर्ग, –
खोजने में असमर्थ है। यह काम करता है .. btw @symbol @c: \ TestPhotoQualityZero.jpg में क्या है –
आप छवि में एपीआई बनाने के लिए छवि एपीआई का उपयोग कर सकते हैं, और फिर जेपीजी में इसे जारी रख सकते हैं। http://msdn.microsoft.com/en-us/library/ms142147.aspx
विंडोज GDI + Image class और स्मृति में छवियों भंडारण और स्मृति में छवियों जोड़ तोड़ के लिए Bitmap class प्रदान करता है। जीडीआई + छवि एन्कोडर्स की मदद से डिस्क फ़ाइलों में लिखता है और छवि डीकोडर्स की सहायता से डिस्क फ़ाइलों से छवियों को लोड करता है।
अपनी कार्यक्षमता को लागू करने के लिए Image.Save Method ओवरलोड की जांच करें। जो ImageFormat Class के विभिन्न छवि प्रारूप का समर्थन करता है।
Image.Save Method (String, ImageCodecInfo, EncoderParameters) पर उदाहरण का अनुसरण है, जो आप एन्कोडिंग आदि
कोड स्निपेट के साथ Jpg
फाइल को सेव करने देगा:
using System;
using System.Drawing;
using System.Drawing.Imaging;
class Example_SetJPEGQuality
{
public static void Main()
{
Bitmap myBitmap;
ImageCodecInfo myImageCodecInfo;
Encoder myEncoder;
EncoderParameter myEncoderParameter;
EncoderParameters myEncoderParameters;
// Create a Bitmap object based on a BMP file.
myBitmap = new Bitmap("Shapes.bmp");
// Get an ImageCodecInfo object that represents the JPEG codec.
myImageCodecInfo = GetEncoderInfo("image/jpeg");
// Create an Encoder object based on the GUID
// for the Quality parameter category.
myEncoder = Encoder.Quality;
// Create an EncoderParameters object.
// An EncoderParameters object has an array of EncoderParameter
// objects. In this case, there is only one
// EncoderParameter object in the array.
myEncoderParameters = new EncoderParameters(1);
// Save the bitmap as a JPEG file with quality level 25.
myEncoderParameter = new EncoderParameter(myEncoder, 25L);
myEncoderParameters.Param[0] = myEncoderParameter;
myBitmap.Save("Shapes025.jpg", myImageCodecInfo, myEncoderParameters);
// Save the bitmap as a JPEG file with quality level 50.
myEncoderParameter = new EncoderParameter(myEncoder, 50L);
myEncoderParameters.Param[0] = myEncoderParameter;
myBitmap.Save("Shapes050.jpg", myImageCodecInfo, myEncoderParameters);
// Save the bitmap as a JPEG file with quality level 75.
myEncoderParameter = new EncoderParameter(myEncoder, 75L);
myEncoderParameters.Param[0] = myEncoderParameter;
myBitmap.Save("Shapes075.jpg", myImageCodecInfo, myEncoderParameters);
}
// कोडेक जानकारी
private static ImageCodecInfo GetEncoderInfo(String mimeType)
{
int j;
ImageCodecInfo[] encoders;
encoders = ImageCodecInfo.GetImageEncoders();
for(j = 0; j < encoders.Length; ++j)
{
if(encoders[j].MimeType == mimeType)
return encoders[j];
}
return null;
}
}
आशा इस मदद ..
मैं इस सरल विस्तार का उपयोग करता हूं एक धारा को बदलने के लिए, यह सब इसे परिवर्तित करता है हालांकि गुणवत्ता के लिए कुछ भी नहीं करता है।
public static Stream ConvertImage(this Stream originalStream, ImageFormat format)
{
var image = Image.FromStream(originalStream);
var stream = new MemoryStream();
image.Save(stream, format);
stream.Position = 0;
return stream;
}
उपयोग:
var outputStream = gifStream.ConvertImage(ImageFormat.Png);
यह इस समस्या का सबसे आसान समाधान है। अधिकांश डेवलपर्स बस इसे छोड़ दें: 3 – iceDragon
इस प्रयास करें:
public static class BitmapExtension
{
public static void Save(this Bitmap bitmap, String fileName, ImageFormat imageFormat, long quality = 75L)
{
using (var encoderParameters = new EncoderParameters(1))
using (encoderParameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality))
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
bitmap.Save(fileName, codecs.Single(codec => codec.FormatID == imageFormat.Guid), encoderParameters);
}
}
}
...
Bitmap bitmap = new Bitmap("myImage.bmp");
bitmap.Save("myImage.jpg", ImageFormat.Jpeg, 50L);
- 1. php में jpg को jpg में कनवर्ट करें?
- 2. emf से jpg रूपांतरण
- 3. nodejs - jpg छवि को कैसे पढ़ और आउटपुट करें?
- 4. सभी छवियों को jpg
- 5. कोल्डफ्यूजन IsImageFile jpg फ़ाइल
- 6. एंड्रॉयड jpg या png
- 7. Ρroblem ImageIO.write jpg फ़ाइल
- 8. सी/सी ++ छवि लोड हो रहा है
- 9. Django प्रारूपों की आवश्यकता
- 10. tzdata को अन्य प्रारूपों में कनवर्ट करें?
- 11. एंड्रॉइड: jpg EXIF टैग
- 12. before_filter और respond_to प्रारूपों
- 13. Imagemagick का उपयोग कर पीडीएफ में एक .jpg छवि को केंद्रित करना?
- 14. छवि को ग्राफ़िक में सी #
- 15. बार्सरी फ़ाइल प्रारूपों को पार्स करने में अटोपारसेक के उदाहरण?
- 16. मैं जावा के माध्यम से एक jpg छवि कैसे संपादित कर सकता हूं?
- 17. सेटिंग कैनवास toDataURL jpg गुणवत्ता
- 18. php Imagemagick jpg black background
- 19. ASP.net MVC 3 jpg फ़ाइलों
- 20. पायथन में एक jpg फ़ाइल कैसे प्रदर्शित करें?
- 21. डॉटनेट के साथ एक jpg फ़ाइल में केवल छवि डेटा हैश कैसे है?
- 22. सी # लोड जेपीजी फ़ाइल, बिटमैप छवि
- 23. छवि क्रॉपिंग सी # बिना .net लाइब्रेरी
- 24. MATLAB में RGB565 और RGB24 छवि प्रारूपों के बीच मैं कैसे परिवर्तित कर सकता हूं?
- 25. क्या एक निर्देशिका में बहुत सी छवियों को संग्रहीत करना छवि पुनर्प्राप्ति धीमा कर देता है?
- 26. bb से jpg में vb6 को कैसे परिवर्तित करें
- 27. .jpg को .eps प्रारूप में कनवर्ट करने के लिए
- 28. एक jpg के png ontop को मर्ज करें और php
- 29. डेटाग्रिडव्यू छवि कॉलम सेटिंग छवि - सी #
- 30. एक ही कॉलम में एकाधिक दिनांक प्रारूपों को कैसे बदलें
यह मंच पर निर्भर करता है - वेब, आवेदन, मोबाइल या यहां तक कि अगर yout तस्वीर कार्ड :) –