相关疑难解决方法(0)

Java/ImageIO获取图像尺寸而不读取整个文件?

有没有办法在不读取整个文件的情况下获取图像的尺寸?

URL url=new URL(<BIG_IMAGE_URL>);
BufferedImage img=ImageIO.read(url);
System.out.println(img.getWidth()+" "+img.getHeight());
img=null;
Run Code Online (Sandbox Code Playgroud)

java image dimensions javax.imageio

62
推荐指数
2
解决办法
3万
查看次数

在Maven中使用Java Advanced Imaging

JAI设置是相当繁琐,涉及多个罐子和环境变量.如果我可以将它添加为常规的Maven依赖项,它将有助于项目的可移植性.

我正在使用的POM片段是

<dependency>
  <groupId>com.sun.media</groupId>
  <artifactId>jai_imageio</artifactId>
  <version>1.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

而错误是

[INFO] ------------------------------------------------------------------------                               
[ERROR] BUILD ERROR                                                                                             
[INFO] ------------------------------------------------------------------------                                 
[INFO] Failed to resolve artifact.                                                                              

Missing:   
----------
1) com.sun.media:jai_imageio:jar:1.1
2) javax.media:jai_core:jar:1.1.3
Run Code Online (Sandbox Code Playgroud)

当然,我可以下载并安装这些罐子.问题是双重的:

  • jai_imageio需要两个罐子;
  • jai_imageio需要安装本机库并设置两个环境变量.

我还没有找到一种方法让这个与Maven一起工作.


请参阅使用ImageIO读取JCS_YCCK图像,因为我正在使用JAI.

java maven-2 jai

52
推荐指数
4
解决办法
4万
查看次数

JPEG图像颜色错误

我有一个方法来读取图像,转换它们(大小,格式)并将它们写回.这总是很好用,但现在我遇到了一些显然包含一些元数据(IPTC)的JPEG图像(来自新闻社).转换这些图像时,颜色都是错误的.我的第一个猜测是,那些是CMYK图像,但它们不是.

问题必须来自阅读,因为无论我是将图像转换为较小的JPEG还是PNG,它总是看起来一样.

起初,我曾经ImageIO.read()读过这张照片.我现在得到实际的ImageReadervia ImageIO.getImageReadersByMIMEType()并尝试告诉读者通过设置ignoreMetadata参数ImageReader#setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata)但忽略元数据但没有成功.

然后我创建了一个没有元数据的图像版本(使用Fireworks).该图像已正确转换.

我能找到的唯一区别是,对于未工作的图像,读者变量的colorSpaceCode值为2,而对于工作图像,值为3.还有一个outColorSpaceCode2两个图像.

由于读者源评论仅表示Set by setImageData本机代码回调.一个修改过的IJG + NIFTY颜色空间代码我现在真的被卡住了.所以任何帮助将不胜感激.

您可以通过此处并单击下载来获取原始图像(~3 MB).下图左侧显示了我从原始图像中获得的内容,右侧显示了它应该是什么样子.

错误的颜色 正确的颜色(删除元数据后)

java jpeg image

31
推荐指数
1
解决办法
1万
查看次数

如何获得图像的高度和宽度?

为什么下面的代码返回高度:-1表示高度尚未知晓.如何获得图像的高度?

 try {
        // Create a URL for the image's location
        URL url = new URL("http://bmw-2006.auto-one.co.uk/wp-content/uploads/bmw-m3-2006-3.jpg");

        // Get the image
        java.awt.Image image = Toolkit.getDefaultToolkit().createImage(url);

        System.out.println("Height: " + image.getHeight(null));


    } catch (MalformedURLException e) {
    } catch (IOException e) {
    }
Run Code Online (Sandbox Code Playgroud)

java asynchronous image

9
推荐指数
1
解决办法
2万
查看次数

Ant任务从PNG和JPEG文件中提取图像尺寸(高度,宽度)?

根据Google Page Speed建议,我想将图片尺寸指定为"优化浏览器渲染".

通过消除不必要的回流和重新绘制的需要,为所有图像指定宽度和高度允许更快的渲染.

我正在研究在静态内容项目中遍历图像文件(PNG,JPEG)的方法,并输出一个文件,其中包含每个图像文件的路径和文件名以及像素的高度和宽度.然后我会使用它来帮助我构建标记,方法是使用src属性数据来查找用于height和width属性的值.

\images\logo.png,100,25
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是寻找ANT任务,因为我们的静态内容构建使用Ant用于其他目的(比如在JavaScript和CSS文件上使用YUI Compressor).我也对其他想法持开放态度,包括解决这个问题的其他方法.我宁愿不必手动完成这项工作.

html browser ant optimization

5
推荐指数
1
解决办法
1112
查看次数

确定BLOB的高度和宽度

我意识到,在我们的数据库中,某些人的图像文件是定向的,而所有图像文件都应该是纵向的。因此,我需要确定哪个文件的宽度大于其高度。

我想知道是否有任何方法可以获取类型列的heightwidthBLOB例如dbms_lob.getlength函数,该函数返回CLOB/ BLOB列中的字符数(字节)。

sql oracle plsql blob oracle12c

3
推荐指数
1
解决办法
138
查看次数