草庐IT

bufferedImage

全部标签

java - 在 Java 中调整 jpeg 大小时丢失颜色(尝试使用多个库)

我已经尝试过在SO上发布的多个图像大小调整库,以及使用getScaledInstance的原始java。虽然大部分时间一切正常,但有两张jpeg图像,每当我调整它们的大小时,它们的颜色总是乱七八糟。第一张图片:结果:第二张图片:结果:我已经使用image.getScaledInstance()尝试使用多个库(包括Scalr、Thumbnailator和rawjava)处理这些图像(代码请参见here),但结果是一样的。知道问题出在哪里吗? 最佳答案 在thisanswer的大力帮助下,我找到了解决方案:importjava.awt.

java - 高效实现 Java native 接口(interface)网络摄像头源

我正在从事一个项目,该项目从网络摄像头获取视频输入并向用户显示运动区域。我在这个项目中的“测试版”尝试是使用JavaMediaFramework来检索网络摄像头提要。通过一些实用函数,JMF方便地将网络摄像头帧作为BufferedImages返回,我围绕它构建了大量框架来处理。但是,我很快意识到Sun/Oracle不再很好地支持JMF,并且无法通过JMF界面访问一些更高的网络摄像头分辨率(720p)。我想继续将帧作为BufferedImages进行处理,并使用OpenCV(C++)获取视频源。单独使用OpenCV的框架,我发现OpenCV在高效返回高清网络摄像头帧并将它们绘制到屏幕上做

java - 将 tiff 转换为缓冲图像 (Java)

我需要将一个tiff文件转换成一个BufferedImage。我写了下面的代码:Stringfilepath="C:\\tiffFolder\\";Stringfilename="myTiffImage.tif";FilemyFile=newFile(filepath+filename);BufferedImageimg=ImageIO.read(myFile);我确定myFile已正确实例化:问题是在第四行代码之后img仍然为null。我做错了什么?非常感谢!编辑已解决,我使用了以下代码:FileSeekableStreamstream=newFileSeekableStream(f

java - 编写 ico 文件 java

最近我对用java创建.ico文件或Windows图标文件产生了兴趣。这是我使用的当前代码。我从这里获得了文件格式规范http://en.wikipedia.org/wiki/ICO_%28file_format%29BufferedImageimg=newBufferedImage(16,16,BufferedImage.TYPE_INT_RGB);Graphicsg=img.getGraphics();g.setColor(Color.GREEN);g.fillRect(0,0,16,16);byte[]imgBytes=getImgBytes(img);intfileSize=i

java - 如何在 SWT 中显示文件的系统图标?

我想显示类似于java2s.com'Createalazyfiletree'的文件树,但包括实际的系统图标-特别是文件夹。SWT似乎没有提供这个(程序API不支持文件夹),所以我想到了以下内容:publicImagegetImage(Filefile){ImageIconsystemIcon=(ImageIcon)FileSystemView.getFileSystemView().getSystemIcon(file);java.awt.Imageimage=systemIcon.getImage();intwidth=image.getWidth(null);intheight=i

java - 用 Java 读取渐进式编码的 9000x9000 JPEG 需要 1 分钟

当使用javax.imageio.ImageIO从磁盘加载大分辨率(9000x9000)JPEG时,我的Scala应用程序需要1分钟多的时间。我尝试创建一个纯Java项目,但它仍然需要很长时间-大约30秒。这是我加载图片的方式:Filefile=newFile("/Users/the21st/slow2.jpg");BufferedImageimage=ImageIO.read(file);有什么方法可以提高在Java中读取渐进式编码的大分辨率JPEG的性能?有问题的图片是thisone(版主,请不要再重新上传到其他托管站点,以免编码/质量发生变化) 最佳答

java - 比 ColorConvertOp 更快的替代品

我有一个方法可以将类型为TYPE_CUSTOM的BufferedImages转换为TYPE_INT_RGB。我正在使用以下代码,但我真的很想找到一种更快的方法。BufferedImagenewImg=newBufferedImage(src.getWidth(),src.getHeight(),BufferedImage.TYPE_INT_RGB);ColorConvertOpop=newColorConvertOp(null);op.filter(src,newImg);它工作正常,但是速度很慢,我想知道是否有更快的方法来进行这种转换。转换前的颜色模型:ColorModel:#pix

java - 如何决定使用哪种 BufferedImage 图像类型?

JavaBufferedImage类有一长串称为图像类型的类变量,可用作BufferedImage构造函数的参数。但是,Java文档对这些图像类型的用途以及它如何影响要创建的BufferedImage做了最简单的解释。我的问题是:图像类型如何影响要创建的BufferedImage?它是否控制用于存储各种颜色(红色、绿色、蓝色)的位数及其透明度?如果我们只想创建,我们应该使用哪种图像类型一张不透明的图片一张透明图片半透明图片我看了很多遍JavaDoc中的描述,就是想不通应该怎么用。例如,这个:TYPE_INT_BGRRepresentsanimagewith8-bitRGBcolorco

java - ImageIO 无法读取输入文件

publicstaticvoidimRes(Stringpat){try{BufferedImagebckimg=ImageIO.read(newFile("c:/s/deneme.jpg"));Files=newFile(pat);BufferedImageim=ImageIO.read(s);BufferedImageim1=resIm(im);BufferedImagefinIm=mergIm(im1,bckimg);ImageIO.write(finIm,"jpg",newFile("c:/s/deneme1.jpg"));}catch(IOExceptione){e.prin

Java填充图像

我正在创建一个在线图像编辑工具。寻找一些引用如何在右侧添加带有空白区域的图像。例如,请参阅此图像 最佳答案 假设您想从现有图像创建新图像,新图像的左右两边都有空白?假设未填充的图像是BufferedImage并称为“图像”。假设你想要的每一边的空白数量是“w”。您想要做的是创建一个比原始图像更宽的新BufferedImage,然后将整个图像涂成白色,最后在其上面绘制较小的图像:BufferedImagenewImage=newBufferedImage(image.getWidth()+2*w,image.getHeight(),i