Tag: jpeg

JPEG解压缩在Windows体系结构中不一致

我正在使用不同版本的Windows的一堆计算机上测试JPEG解压缩。 所有这些计算机都安装了.NET 4,我正在编译.NET 2和“任何CPU”平台目标。 以下代码在不同系统上生成不同的输出。 Bitmap bmp = (Bitmap)Image.FromFile(“test.jpg”); long datasum = 0; for (int y = 0; y < bmp.Height; y++) for (int x = 0; x < bmp.Width; x++) datasum = datasum + bmp.GetPixel(x, y).R + bmp.GetPixel(x, y).G + bmp.GetPixel(x, y).B; Console.WriteLine(datasum); 所有Win7 64位和WinXP 32位机器都产生一个结果。 所有Win7 32位机器都产生了另一个结果。 任何想法为什么输出会有所不同?

保存来自Network Camera RTP Stream的JPEG文件

我有一个RTP Stream插槽,接收来自三星网络摄像机的JPEG流。 我不太了解JPEG格式的工作原理,但我知道这个传入的JFIF或JPEG流给了我JPEG头 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type-specific | Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Q | Width | Height | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ and then +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Restart Interval |F|L| Restart Count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ and then in the first packet, there is this header +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MBZ | Precision | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Quantization Table Data […]

如何禁用.NET / GDI +的子采样?

我想使用Bitmap类保存JPEG图像。 我注意到,无论我指定的质量水平如何,锋利的边缘总是blury。 我发现这是由于一个或多个通道的子采样。 保存图像时如何禁用子采样? 我目前正在使用此代码: EncoderParameters parameters = new EncoderParameters(1); parameters.Param[0] = new EncoderParameter(Encoder.Quality, 85L); ImageCodecInfo codec = GetEncoderInfo(“image/jpeg”); image.Save(path, codec, parameters); 注意 我知道JPEG是有损的,但这不是问题。 如果我使用ImageMagick并使用默认选项保存图像,我会得到类似的结果。 但是,如果我指定1:1:1子采样,则模糊消失。 我不想使用PNG,因为我需要更好的压缩。 如果我将图像保存为BMP,然后手动将其转换为JPEG,我会得到很好的结果,而不会模糊。 因此,格式不是这里的问题。

.NET使用与加载时相同的质量保存jpeg

我有一个大炮数码相机,我设置它拍摄超细质量的照片,它输出一个3兆的.jpg文件。 如果我在ASP.NET中加载它(这有助于更改它的dpi分辨率或裁剪它或whaterver) imgPicture = Image.FromFile(Config.WorkDirectory + this.TempPhotoName); bmpPicture = new Bitmap(imgPicture); 然后我再次保存它: bmpModified.Save(Config.WorkDirectory + this.TempPhotoName,System.Drawing.Imaging.ImageFormat.Jpeg); 它输出的jpg大小只有700KB左右。 质量下降。 我也试过保存它: bmpPicture.Save(Config.WorkDirectory + this.TempPhotoName, codecJpeg, encparams); codecJpeg是哪里的 ImageCodecInfo codecJpeg = this.getEncoderInfo(“image/jpeg”); private ImageCodecInfo getEncoderInfo(string mimeType) { // Get image codecs for all image formats ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders(); // Find the correct image codec for (int i = […]

使用iTextSharp将图像转换为PDF保留剪切路径

我们希望以编程方式将图像批量转换为PDF。 到目前为止看起来我们将使用iTextSharp,但我们遇到了带剪切路径的JPG图像问题。 我们在测试中使用以下代码: using (FileStream fs = new FileStream(output, FileMode.Create, FileAccess.Write, FileShare.None)) { using (Document doc = new Document()) { using (PdfWriter writer = PdfWriter.GetInstance(doc, fs)) { doc.Open(); iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(source); image.SetAbsolutePosition(0, 0); doc.SetPageSize(new iTextSharp.text.Rectangle(0, 0, image.Width, image.Height, 0)); doc.NewPage(); writer.DirectContent.AddImage(image,false); doc.Close(); } } } JPG图像中的剪切路径似乎只是被丢弃了。 有没有办法保留剪切路径? 另外,当调用AddImage时,InlineImage有一个选项,任何人都知道这是做什么的?

如何在Xamarin for Android中设置jpeg文件的属性?

我正在使用jpeg文件,当我查看windows下的jpeg文件的详细信息(右键单击 – >属性)时,在详细信息选项卡下有标题,主题,评级,标签,评论等条目。如何我在Xamarin(Android)中设置了这些属性? 谢谢。

Image.Save()方法中的GDI +中发生了一般错误

我正在尝试使用这个类但是我在Image.Save()方法中遇到了GDI +中的Generic错误。 从我读到的它是我需要关闭的一些流但我不知道哪一个。 I’m calling using this: Image image = Image.FromFile(@”C:\a.jpg”); using (var resized = ImageUtilities.ResizeImage(image, 50, 100)) { //save the resized image as a jpeg with a quality of 90 ImageUtilities.SaveJpeg(@”C:\myimage.jpeg”, resized, 90); } 为什么会出现这个错误?我该如何解决?

在c#中从memorystream保存为jpeg

我有一个如下所示的方法将图像保存为jpeg。 我希望保存所有具有相同高度和宽度的图片,而不会失真。 我怎样才能做到这一点? 请帮忙 public void SaveFileOnDisk(MemoryStream ms, string FileName) { try { string appPath = HttpContext.Current.Request.ApplicationPath; string physicalPath = HttpContext.Current.Request.MapPath(appPath); string strpath = physicalPath + “\\Images”; string WorkingDirectory = strpath; System.Drawing.Image imgSave = System.Drawing.Image.FromStream(ms); Bitmap bmSave = new Bitmap(imgSave); Bitmap bmTemp = new Bitmap(bmSave); Graphics grSave = Graphics.FromImage(bmTemp); grSave.DrawImage(imgSave, 0, 0, imgSave.Width, imgSave.Height); bmTemp.Save(WorkingDirectory […]

来自Stream的位图:Bug?

我有一个非常奇怪的错误。 我需要缩小图像,缩小质量并转换为JPEG。 这一切都在我将文件保存在磁盘上时有效,但是当我将其保存到Stream时它不起作用。 System.Drawing.Bitmap bitmap = // valid Bitmap from Disk System.IO.Stream stream = new MemoryStream(); // JPEG Encoding System.Drawing.Imaging.ImageCodecInfo jpgEncoder = GetEncoder( System.Drawing.Imaging.ImageFormat.Jpeg ); System.Drawing.Imaging.Encoder encoder2 = System.Drawing.Imaging.Encoder.Quality; System.Drawing.Imaging.EncoderParameters parameters = new System.Drawing.Imaging.EncoderParameters( 1 ); System.Drawing.Imaging.EncoderParameter parameter = new System.Drawing.Imaging.EncoderParameter( encoder2, qualityLevel ); parameters.Param[0] = parameter; // Save downscaled on Disk and stream bitmap.Save( […]

C#加载JPG文件,解压缩BitmapImage

我试图从JPG中提取BitmapImage。 这是我的代码: FileStream fIn = new FileStream(sourceFileName, FileMode.Open); // source JPG Bitmap dImg = new Bitmap(fIn); MemoryStream ms = new MemoryStream(); dImg.Save(ms, ImageFormat.Jpeg); image = new BitmapImage(); image.BeginInit(); image.StreamSource = new MemoryStream(ms.ToArray()); image.EndInit(); ms.Close(); 图像以0×0图像返回,这当然意味着它不起作用。 我该怎么做呢?