Tag: jpeg

Http PUT请求jpeg

我收到了HTTP PUT,如: PUT /photo HTTP/1.1 X-Apple-AssetKey: F92F9B91-954E-4D63-BB9A-EEC771ADE6E8 X-Apple-Transition: Dissolve Content-Length: 462848 User-Agent: MediaControl/1.0 X-Apple-Session-ID: 1bd6ceeb-fffd-456c-a09c-996053a7a08c 试图存储它,最终在im==null exception 。 Socket s = server.accept(); BufferedReader br = new BufferedReader(new InputStreamReader( s.getInputStream())); String tag = br.readLine().split(” “)[1]; System.out.println(tag); if (tag.contains(“/photo”)) { while (!br.readLine().equals(“”)); File file = new File(“” + System.currentTimeMillis() + “.jpg”); InputStream is = (s.getInputStream()); BufferedImage bImageFromConvert […]

如何将二进制数据转换为图像?

在我的Android应用程序中。 我从代码中获取了jpeg图像的二进制代码,如下所示。 byte[] val = stream.toByteArray(); BigInteger bi = new BigInteger(val); String s = bi.toString(2); 此字符串s打印图像的二进制值。 我的问题是如何将这种二进制格式转换为jpeg图像?

如何将XMP XML块序列化为现有JPEG图像?

我有很多JPEG图像,其中包含损坏的XMP XML块。 我可以很容易地修复这些块,但我不确定如何将“固定”数据写回图像文件。 我目前正在使用JAVA,但对任何可以轻松完成此任务的事情都持开放态度。 这是前面提到的围绕XMP XML的另一个问题的目标。

javax.imageio.ImageIO坏了吗? 它会旋转一些图像

下面你会看到一张来自土耳其的美味糕点“ simit ”。 它取自iPad 2,因此它是尺寸为720 * 960的JPEG。 问题是,当我使用javax.imageio.ImageIO.read方法时,它奇怪地导入的图像是向左旋转的BufferedImage ,变为960 * 720 。 我在OS X上的Sun JVM 1.6.0_29和Debian上的Sun JVM 1.6.0_26上重现了这一点。 这是代码: public class Main { public static void main(String[] args) throws Exception { FileInputStream stream = new FileInputStream(new File(“IMG_0159.JPG”)); BufferedImage img = ImageIO.read(stream); System.out.println(“width:” + img.getWidth() + ” height:” + img.getHeight()); } } 它输出width:960 height:720 ,当我保存这个输出图像时,它按照我之前的说法旋转到左边。 如果您想重现这一点,请从此处下载代码和图片,然后运行以下命令来构建和运行: […]

以编程方式缩小JPEG文件大小

为任何无知道歉,但我以前从未使用Java中的jpeg图像(更不用说任何类型的图像)了。 假设我想从Web服务向客户端发送jpeg图像。 有什么方法可以通过某种方式操纵图像的颜色配置文件来减少jpeg文件的大小? 我已经能够通过使用称为imgscalr BufferedImages的简洁工具来缩小图像大小。 看到这里 。 我还想要一个颜色比高质量jpeg图像少的jpeg。 例如,我希望能够在我的jpeg中使用8位颜色而不是16位颜色。 如果我有来自Java的2D包的BufferedImage,我到底需要改变什么呢?

隐藏JPG图像中的消息

我试图隐藏一个图像,它与.bmp和.png一起正常工作但是当我将图像写为JPG并尝试检索隐藏的消息时它无法正常工作。 我的程序,首先读取格式化的图像( bmp , gif , jpg , png )写入消息以隐藏并保存它,以便我们可以再次读取它并提取消息。 当我用bmp或png保存它时它工作正常但是当用jpg保存并尝试提取消息时它不起作用。 ImageIO.write(bimg, “png”, outputfile);//working ImageIO.write(bimg, “png”, outputfile);//not working 我该怎么做才能使它适用于JPEG? 注意:我正在将每个像素读取为具有ARGB值的4位整数并更改R,G,B的LSB以隐藏消息。 public void stegnography(BufferedImage bimg,String msg,String filename) { int w=bimg.getWidth(); int h=bimg.getHeight(); //*************************************** // String msg=”Hide this message:)”; System.out.println(“message=”+msg+” length=”+msg.length()); //*************************************** if(msg.length()>255 ) { jLabel3.setText(“MESSAGE IS LARGE THAN 255 CHARACTERS”); } else if( msg.length()*11 >w*h) { […]

读取JPEG:ImageIO.read()会弄乱色彩空间

我正在尝试在Servlet中读取,重新缩放和保存图像。 那是相关的代码: BufferedImage image = ImageIO.read(file); BufferedImage after = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); AffineTransform at = AffineTransform.getScaleInstance(factor, factor); AffineTransformOp scaleOp = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR); after = scaleOp.filter(image, null); ImageIO.write(after, “JPG”, file)); 原始文件是一个普通的RGB-Jpeg,但是当我打开并保存文件时,它就是一个CMYK-Jpeg。 即使我没有重新缩放图像,只是打开和关闭图像会导致问题。 当我打开PNG或GIF时,一切都很好。 有人知道该怎么做吗? 我希望ImageIO的read-Method能够保留原始的色彩空间。 如果有另一种方式阅读jpeg的舒适方式? 谢谢你的任何建议!

Toolkit.getDefaultToolkit()。createImage()vs ImageIO.read()

我正在使用Swing创建UI,我想在JLabel显示图像。 我使用的代码如下: JLabel label = new JLabel(new ImageIcon(ImageIO.read(new File(“img.jpg”)))); 如果我使用png图像,但是当涉及到jpg (只有其中一些)时,这可以正常工作,我得到一个红色图像(与我在Paint.NET中看到的图像不同)。 我使用的图像是这个: img.jpg 所以我试过(作为替代方案): Toolkit.getDefaultToolkit().createImage(new File(“img.jpg”).getAbsolutePath()); 有谁知道为什么会这样? 它是一种不受支持的特殊JPEG格式吗? 我在这个论坛上看到,大多数人都建议使用ImageIO(例如这里 )。 为什么? 非常感谢

无法从byte 读取JPEG文件

有没有人在java中加载JPEG文件有问题? 我们的一个客户端正在发送无法解析的文件,但这些文件可以在Windows中打开。 (我们收到的其他99%的jpeg文件,处理没有任何问题) 我尝试了几个库来阅读这些: itextpdf : com.itextpdf.text.Jpeg (getInstance(imageData) – gives “java.io.IOException: Premature EOF while reading JPG.” sanselan : org.apache.sanselan.ImageInfo ( Sanselan.getImageInfo(imageData) gives “java.io.IOException: Invalid Segment: insufficient data”) where imageData is a byte[] 这里的错误告诉我,jpegs坏了,但是,这并不能解释为什么它们仍然可见。 如果有人有任何建议,我将非常感激 谢谢

使用Java编辑jpeg EXIF数据

我想编辑jpg文件的属性,如:评论,标题,拍摄日期,相机制造商等。 我找到了库来读取这些数据。 但是我需要一个带有示例的免费库来编辑它们。 我知道apache的成像(sanselan)。 但我无法使用它编辑数据。 如果您以前使用过它,我会接受这个答案,只有当您提供的示例代码不是他们网站上的代码时。 因为即使我使用他们的例子我也无法编辑GPS数据以外的任何属性。 运行代码后,file-properties-details仍然具有相同的值。 谢谢 ! 注意:我也尝试过JHeader( https://sourceforge.net/projects/jheader/ ),但是使用它作为带有-cl选项的进程仍然没有更改属性列表。